尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

C# Winfrom DevExpress 控件概述: Dev简介与汉化 基础控件 : Label TextEdit ButtonEdit MemoEdit Check..
📅 发布时间:2026/6/21 22:31:12

学习这个的 耗子味滋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

相关新闻

  • 4、掌握Bash脚本:从基础到交互
  • 5、深入探索Shell脚本:连接服务器与条件语句
  • 6、掌握 Shell 脚本中的条件判断与代码片段使用

最新新闻

  • 测度传输与生成建模:理论基础与应用实践
  • AI模型部署失败真相:模型ID映射与三重命名体系解析
  • 3个颠覆性视角:如何用Sunshine重新定义你的游戏串流体验
  • 3分钟掌握Windows 11任务栏自定义:Taskbar11完整指南
  • 宋氏美学实木家具靠谱品牌,帅佶家居上榜 - myqiye
  • 瓷板幕墙工程价格,恒基幕墙工程费用合理吗 - mypinpai

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号