当前位置: 首页 > news >正文

C# Winfrom DevExpress 控件概述: Dev简介与汉化 基础控件 : Label TextEdit ButtonEdit MemoEdit Check..

学习这个的 耗子味滋QAQ

Developer Express WinForms 控件概述:

Dev简介与汉化

基础控件 : Label TextEdit ButtonEdit MemoEdit CheckEdit RadioGroup DateEdit
CalendarControl SimpleButton CheckButton SpinEdit RatingControl
ColorEdit FontEdit TrackBarControl ProgressBarControl\
ToggleSwitch ImageEdit PictureEdit ImageSlider .....
ComboBoxEdit CheckedComboBoxEdit ImageComboBoxEdit
ListBoxControl CheckedListBoxControl ImageListBoxControl

布局控件 PanelControl GroupControl SplitContainerControl StackPanel TablePanel XtraTabControl SplitterControl

Developer Express(简称DevExpress)是一家专注于为软件开发人员提供高性能UI控件、工具和框架的软件公司。其产品广泛应用于Windows Forms、WPF、ASP.NET、Blazor、JavaScript等平台,帮助开发者快速构建企业级应用程序。

核心产品线

DevExpress WinForms
提供丰富的Windows Forms控件,包括数据网格、图表、报表、日程管理等组件,支持高DPI和现代化设计。

DevExpress WPF
针对WPF平台的UI控件库,包含MVVM框架、主题编辑器、数据可视化工具,适用于复杂桌面应用开发。

DevExpress ASP.NET
为ASP.NET Web Forms和MVC提供AJAX控件,如文件管理器、仪表盘、甘特图,支持响应式设计。

DevExpress Blazor
专为Blazor框架设计的组件库,包括数据网格、调度器、富文本编辑器,兼容Server和WebAssembly模式。

DevExpress JavaScript
跨平台的JavaScript控件,如DevExtreme,支持React、Angular、Vue等前端框架,涵盖移动端和Web端开发。

特色功能

  • 高性能数据处理:控件优化了大数据量处理能力,如虚拟滚动、异步加载。
  • 主题与样式:提供多种预定义主题(如Office 2019、Material Design),支持自定义样式。
  • 设计时支持:Visual Studio集成设计器,可通过拖拽快速配置控件属性。
  • 跨平台兼容性:部分产品支持.NET Core/.NET 5+,确保现代化技术栈兼容。

典型应用场景

  • 企业ERP/CRM系统开发
  • 数据分析与报表生成
  • 复杂表单和仪表盘设计
  • 跨平台移动应用构建

许可与支持

采用订阅制授权模式,提供定期更新和技术支持服务。开发者可通过官方示例代码库和活跃社区获取资源。

学习资源

  • 官方文档和API参考
  • GitHub示例项目
  • 视频教程与在线技术论坛

using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DXWinControls { public class SqlHelper { /// <summary> /// 连接字符串 /// </summary> private static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; /// <summary> /// 增、删、改的通用方法 /// 执行Sql语句或存储过程,返回受影响的行数 /// SQL注入 /// </summary> /// <param name="sql">sql语句或存储过程名</param> /// <param name="cmdType">执行的脚本类型 1:sql语句 2:存储过程</param> /// <param name="parameters">参数列表</param> /// <returns></returns> public static int ExecuteNonQuery(string sql, int cmdType, params SqlParameter[] parameters) { //select @@Identity 返回上一次插入记录时自动产生的ID int result = 0;//返回结果 using (SqlConnection conn = new SqlConnection(connStr)) { //执行脚本的对象cmd SqlCommand cmd = BuilderCommand(conn, sql, cmdType, null, parameters); result = cmd.ExecuteNonQuery();//执行T-SQL并返回受影响行数 cmd.Parameters.Clear(); } //using原理:类似于try finally return result; } /// <summary> /// 执行sql查询,返回第一行第一列的值 /// </summary> /// <param name="sql">sql语句或存储过程</param> /// <param name="cmdType">执行的脚本类型 1:sql语句 2:存储过程</param> /// <param name="parameters">参数列表</param> /// <returns></returns> public static object ExecuteScalar(string sql, int cmdType, params SqlParameter[] parameters) { object result = null;//返回结果 using (SqlConnection conn = new SqlConnection(connStr)) { //执行脚本的对象cmd SqlCommand cmd = BuilderCommand(conn, sql, cmdType, null, parameters); result = cmd.ExecuteScalar();//执行T-SQL并返回第一行第一列的值 cmd.Parameters.Clear(); if (result == null || result == DBNull.Value) { return null; } else { return result; } } } /// <summary> /// 执行sql查询,返回SqlDataReader对象 /// </summary> /// <param name="sql">sql语句或存储过程</param> /// <param name="cmdType">执行的脚本类型 1:sql语句 2:存储过程</param> /// <param name="parameters">参数列表</param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sql, int cmdType, params SqlParameter[] parameters) { SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = BuilderCommand(conn, sql, cmdType, null, parameters); SqlDataReader reader; try { //conn.Open(); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); return reader; } catch (Exception ex) { conn.Close(); throw new Exception("创建reader对象发生异常", ex); } } /// <summary> /// 执行查询,查询结果填充到DataTable 只针对查询一个表的情况 /// </summary> /// <param name="sql">sql语句或存储过程</param> /// <param name="cmdType">执行的脚本类型 1:sql语句 2:存储过程</param> /// <param name="parameters">参数列表</param> /// <returns></returns> public static DataTable GetDataTable(string sql, int cmdType, params SqlParameter[] parameters) { DataTable dt = null; using (SqlConnection conn = new SqlConnection(connStr)) { SqlCommand cmd = BuilderCommand(conn, sql, cmdType, null, parameters); SqlDataAdapter da = new SqlDataAdapter(cmd); dt = new DataTable(); da.Fill(dt); cmd.Parameters.Clear(); } return dt; } /// <summary> /// 执行查询,数据填充到DataSet /// </summary> /// <param name="sql">sql语句或存储过程</param> /// <param name="cmdType">执行的脚本类型 1:sql语句 2:存储过程</param> /// <param name="parameters">参数列表</param> /// <returns></returns> public static DataSet GetDataSet(string sql, int cmdType, params SqlParameter[] parameters) { DataSet ds = null; using (SqlConnection conn = new SqlConnection(connStr)) { SqlCommand cmd = BuilderCommand(conn, sql, cmdType, null, parameters); //数据适配器 //conn 自动打开 断开式连接 SqlDataAdapter da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); //自动关闭conn } return ds; } /// <summary> /// 事务 执行批量sql /// </summary> /// <param name="listSql"></param> /// <returns></returns> public static bool ExecuteTrans(List<string> listSql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlTransaction trans = conn.BeginTransaction(); SqlCommand cmd = BuilderCommand(conn, "", 1, trans); try { int count = 0; for (int i = 0; i < listSql.Count; i++) { if (listSql[i].Length > 0) { cmd.CommandText = listSql[i]; cmd.CommandType = CommandType.Text; count += cmd.ExecuteNonQuery(); } } trans.Commit(); return true; } catch (Exception ex) { trans.Rollback(); throw new Exception("执行事务出现异常", ex); } } } /// <summary> /// 事务 批量执行 CommandInfo 包括sql,脚本类型,参数列表 /// </summary> /// <param name="comList"></param> /// <returns></returns> public static bool ExecuteTrans(List<CommandInfo> comList) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); SqlTransaction trans = conn.BeginTransaction(); SqlCommand cmd = BuilderCommand(conn, "", 1, trans); try { int count = 0; for (int i = 0; i < comList.Count; i++) { cmd.CommandText = comList[i].CommandText; if (comList[i].IsProc) cmd.CommandType = CommandType.StoredProcedure; else cmd.CommandType = CommandType.Text; if (comList[i].Paras!=null && comList[i].Paras.Length > 0) { cmd.Parameters.Clear(); foreach (var p in comList[i].Paras) { cmd.Parameters.Add(p); } } count += cmd.ExecuteNonQuery(); } trans.Commit(); return true; } catch (Exception ex) { trans.Rollback(); throw new Exception("执行事务出现异常", ex); } } } //public static T ExecuteSql<T>(string sql, int cmdType, DbParameter[] paras, Func<IDbCommand, T> action) //{ // using (DbConnection conn = new SqlConnection(connStr)) // { // conn.Open(); // IDbCommand cmd = conn.CreateCommand(); // cmd.CommandText = sql; // if (cmdType==2) // cmd.CommandType = CommandType.StoredProcedure; // return action(cmd); // } //} public static T ExecuteTrans<T>(Func<IDbCommand, T> action) { using (IDbConnection conn = new SqlConnection(connStr)) { conn.Open(); IDbTransaction trans = conn.BeginTransaction(); IDbCommand cmd = conn.CreateCommand(); cmd.Transaction = trans; return action(cmd); } } /// <summary> /// 构建SqlCommand /// </summary> /// <param name="conn">数据库连接对象</param> /// <param name="sql">SQL语句或存储过程</param> /// <param name="comType">命令字符串的类型</param> /// <param name="trans">事务</param> /// <param name="paras">参数数组</param> /// <returns></returns> private static SqlCommand BuilderCommand(SqlConnection conn, string sql, int cmdType, SqlTransaction trans, params SqlParameter[] paras) { if (conn == null) throw new ArgumentNullException("连接对象不能为空!"); SqlCommand command = new SqlCommand(sql, conn); if (cmdType == 2) command.CommandType = CommandType.StoredProcedure; if (conn.State == ConnectionState.Closed) conn.Open(); if (trans != null) command.Transaction = trans; if (paras != null && paras.Length > 0) { command.Parameters.Clear(); command.Parameters.AddRange(paras); } return command; } } }

Dev简介

Developer Express ---DevExpress

Dev Winform WPF Web Reporting

优势:美化:美化界面、控件定制简单、体验、专业化,替代所有的传统控件、菜单。

汉化


下载汉化包
汉化包文件夹重命名zh-CN
如果只是项目内部汉化,把汉化包放到bin/debug下面,然后main()
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CN");
统一汉化:把汉化包放到C:\Program Files (x86)\DevExpress 20.1\Components\Bin\Framework
执行命令:
2. D:\>cd C:\Program Files (x86)\DevExpress 20.1\Components\Bin\Framework\zh-CN
3. C:\Program Files (x86)\DevExpress 20.1\Components\Bin\Framework\zh-CN>dir /B *.dll>temp.bat
4. 以文本方式打开 temp.bat 文件并编辑,在 DevExpress 前加上“gacutil -i”
5. C:\Program Files (x86)\DevExpress 20.1\Components\Bin\Framework\zh-CN>temp.bat

其他 WPF

WPF UI 界面布局 魔术棒 文字笔记识别 技能提升 布局功能扩展与自定义 继承Panel的对象,测量与排列 系列七

https://blog.csdn.net/cao919/article/details/140194739

C# WPF 3D 数据孪生 系列六-CSDN博客

WPF 3D绘图 点云 系列五-CSDN博客

WPF UI 3D 多轴 机械臂 stl 模型UI交互-CSDN博客

爬C初试 掌握WPF入门知识 获取某.aspx类目及控制仪表盘的指向

https://blog.csdn.net/cao919/article/details/127741725

ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术

https://blog.csdn.net/cao919/article/details/146230296

http://www.jsqmd.com/news/85366/

相关文章:

  • 3、Bash脚本编程基础与实践
  • 4、掌握Bash脚本:从基础到交互
  • 5、深入探索Shell脚本:连接服务器与条件语句
  • 1、掌握 Linux Shell 脚本编程:从基础到高级应用
  • 6、掌握 Shell 脚本中的条件判断与代码片段使用
  • 7、提升脚本效率:终端色彩、代码片段与参数管理技巧
  • MBOX一加遥控DTS
  • 8、Linux Shell 脚本高级测试与循环结构详解
  • 智慧树网课自动化插件:3分钟搞定全网最全使用指南
  • 9、Linux 脚本循环控制与函数使用全解析
  • 10、深入探索Bash脚本:函数与文本处理
  • 11、Linux文本处理与Apache虚拟主机自动化配置
  • Bypass Paywalls Clean付费墙绕行工具全面使用手册
  • 联想拯救者工具箱完整配置指南:从零开始掌握硬件控制
  • OpenHarmony与ArkUI-X的跨平台开发AtomGit_Pocket速通版
  • OpenHarmony与ArkUI-X的跨平台开发AtomGit_Pocket详细版
  • 5、Linux与Apache Web服务器使用指南
  • Java应用JDK及依赖库兼容问题扫描工具
  • 6、搭建网站与服务器配置全攻略
  • Training-Time RTC——在训练时做动作分块:消除推理阶段的计算开销,让π0.6完成箱子装配与咖啡制作
  • 排序,,,,
  • JarDiff比较jar文件版本差异及代码影响范围
  • 7、Perl编程入门:基础语法与实用技巧
  • 8、Perl与MySQL编程基础指南
  • 9、MySQL与网站元语言的技术应用与实践
  • 10、网站元语言(WML)的使用与实践
  • 11、深入探索WML:构建高效网站的秘诀
  • 12、网站元语言与通用网关接口入门
  • 21、动态网页开发:Mason与PHP的深入探索
  • Qwen3-1.7B-FP8震撼发布:轻量化大模型迎来“双模式“推理革命,17亿参数实现效率与智能的完美平衡