随笔分类 -  桌面 - WinForm

Winform中Textbox的使用
摘要:可以通过设置边框、颜色、Readonly为true,来模拟Label,因为Label不支持复制文本 阅读全文

posted @ 2019-08-21 15:00 碎羽love星谊 阅读(328) 评论(0) 推荐(0)

C#中执行cmd命令
摘要:proxy等set、环境变量信息共享操作系统的CMD的配置 注意异常处理、进程的回收 下面实现的缺点是,返回的字符串中有冗余数据,如打开CMD时的运行环境信息,因此可能要自己再去过滤出来哪些才是命令返回的数据 不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态 阅读全文

posted @ 2019-08-21 14:37 碎羽love星谊 阅读(464) 评论(0) 推荐(0)

C#中的文件操作
摘要:Winform获取程序路径 AppDomain.CurrentDomain.BaseDirectory Directory文件夹操作类 Directory.CreateDirectory Directory.Delete File文件操作类 File.Exists(string path) File 阅读全文

posted @ 2019-08-21 13:55 碎羽love星谊 阅读(88) 评论(0) 推荐(0)

1. 个人经验总结 - 桌面开发经验总结
摘要:多线程 耗时长的操作尽量不在界面主线程里做,另外起线程 如果其中又需要更新界面,那么要找某种方式来进行(比如winform中要用BeginInvoke,BeginInvoke的原理是?) 同时注意合理使用“loading...”文本或者图片或者progress bar 由于和web应用相比,桌面应用 阅读全文

posted @ 2019-08-21 11:35 碎羽love星谊 阅读(192) 评论(0) 推荐(0)

WinForm中图片等文件的管理及如何获取文件物理路径的方法
摘要:AppDomain.CurrentDomain.BaseDirectory 程序运行目录,如果是在VS中运行,那么就是对应的bin下面的Debug或者Release目录 注意在项目中增加图片等文件后,一定要Include到项目中,并且设置为Copy always或者Copy if newer 管理图 阅读全文

posted @ 2019-08-16 16:10 碎羽love星谊 阅读(318) 评论(0) 推荐(0)

Winform中TreeView控件的使用
摘要:通过一级级添加Node来构造树结构 注意Node的Name和Text可以不同,Text是显示的文本 有时为了方便后序操作,在构造与Tree对应的Model类时,可以在子节点类中包含一个父节点类的引用 阅读全文

posted @ 2019-08-16 16:04 碎羽love星谊 阅读(691) 评论(0) 推荐(0)

Winform中ComboBox控件的使用
摘要:通过把DropDownStyle样式设置成DropDownList,可以让它变成不可编辑的下拉菜单 直接给ComboBox增加Item的话,如果构造函数的参数就是一个字符串,那么在取选中值时,直接把SelectedItem转成字符串使用即可 阅读全文

posted @ 2019-08-16 16:01 碎羽love星谊 阅读(523) 评论(0) 推荐(0)

Winform中在容器控件上显示自定义loading信息(以图片为例)
摘要:如果不要遮罩父容器控件,直接旁边找个地方创建一个Label控件或者其他控件,然后在逻辑代码中控制其显示和隐藏 如果为了不阻塞主界面而创建了子线程,且要在子线程中控制其显示或隐藏,那么需要用BeginInvoke来包裹界面操作部分 如果要遮罩父容器控件,代码中创建一个PictureBox控件,并设置图 阅读全文

posted @ 2019-08-16 15:56 碎羽love星谊 阅读(333) 评论(0) 推荐(0)

Windows中与系统关联自己开发的程序(默认打开方式、图标、右击菜单等)
摘要:1. 默认打开方式 1.1. 代码支持 在Windows下,某个特定后缀名类型的文件,如果要双击时默认用某个程序(比如自己开发的WinForm程序)打开,代码中首先肯定要支持直接根据这个文件进行下一步操作。比如说,如果自己开发的程序是个IDE,那么如果直接打开的这个文件是自定义的项目文件,那么代码就 阅读全文

posted @ 2018-11-20 14:36 碎羽love星谊 阅读(1682) 评论(0) 推荐(2)

WinForm中的启动界面
摘要: 阅读全文

posted @ 2018-11-15 16:38 碎羽love星谊 阅读(161) 评论(0) 推荐(0)

.NET&C#的异常处理
摘要:应用程序未捕获异常的处理 处理未捕获的异常是每个应用程序起码有的功能 无论是Windows窗体程序还是WPF程序,我们都看到捕获的异常当中分为"窗体线程异常"和"非窗体线程异常"。 WinForm等类型的应用程序 使用UnhandledException来处理非 UI 线程异常 1 static v 阅读全文

posted @ 2018-11-08 13:54 碎羽love星谊 阅读(188) 评论(0) 推荐(0)

WinForm中ListBox的使用
摘要:获取选中数据:listbox.SelectedItem as XXX 重绘每一行item DrawMode设置为DrawMode.OwnerDrawVariable 然后实现DrawItem(object sender, DrawItemEventArgs e) 重绘选中行(鼠标所在行),如修改选中 阅读全文

posted @ 2018-11-05 16:51 碎羽love星谊 阅读(415) 评论(0) 推荐(0)

WinForm中使用自定义Tooltip控件
摘要:private ToolTip tooltipCtr; 构造函数中: 隐藏默认的Tooltip:this.ShowCellToolTips = false; this.tooltipCtr = new ToolTip(); 设置停留时间(还有许多其他时间设置):this.tooltipCtr.Aut 阅读全文

posted @ 2018-11-02 16:29 碎羽love星谊 阅读(1773) 评论(0) 推荐(0)

WinForm中获取Listbox、DataGridView等控件某行对应的数据
摘要:Listbox:listbox.SelectedItem as XXX DataGridView:dataGridView1.Rows[i].Cells[1].Value.ToString() 阅读全文

posted @ 2018-11-02 16:19 碎羽love星谊 阅读(655) 评论(0) 推荐(0)

WinForm中的焦点
摘要:窗口打开后默认的焦点在TabIndex为0的元素上,即使代码中在其他元素上设置了Focus(),也没用,所以初始状态最好通过TabIndex来控制。 WebForm中点其他如空白地方,之前的控件就会失去焦点,但WinForm中必须点到另一个控件上(貌似必须可见)。 阅读全文

posted @ 2018-11-02 13:48 碎羽love星谊 阅读(249) 评论(1) 推荐(0)

WinForm中的重绘 - 文本的重绘
摘要:两种方式 TextRenderer.DrawText 注意:默认在每次绘制的文本左右有padding,即使参数中设置了TextFormatFlags.NoPadding也是一样,因此在分段绘制文本时(比如绘制搜索结果文本中高亮一部分时),每次绘制前在定位传递Point参数时,需要进行修正,减去相应个 阅读全文

posted @ 2018-11-02 11:22 碎羽love星谊 阅读(650) 评论(0) 推荐(0)

WinForm中的多线程
摘要:使用BeginInvoke或Invoke 作用 在自己创建的非UI线程中,进行UI操作,比如更新UI上控件的状态。 Windows 窗体中的控件被绑定到特定的线程,不具备线程安全性。因此,如果从另一个线程调用控件的方法,那么必须使用控件的一个 Invoke 方法来将调用封送到适当的线程。 如果已经创 阅读全文

posted @ 2018-11-01 13:44 碎羽love星谊 阅读(944) 评论(0) 推荐(0)

WinForm中TabControl的使用
摘要:TabControl和TabPage之间有一个默认颜色的边框,很难去除,需要重写TabControl控件重绘区域 1 public class FullTabControl : TabControl 2 { 3 public override Rectangle DisplayRectangle 4 阅读全文

posted @ 2018-11-01 11:38 碎羽love星谊 阅读(741) 评论(0) 推荐(0)

WinForm中DataGridView的使用(五) - 自定义列
摘要:DataGridView支持指定DataGridViewImageColumn、DataGridViewButtonColumn等特殊类型的列,加入到Columns中。 阅读全文

posted @ 2018-10-30 16:25 碎羽love星谊 阅读(741) 评论(0) 推荐(0)

WinForm中的多语言处理
摘要:配置文件中存储当前语言环境,切换语言时进行修改,启动程序时读取该配置并设置当前线程的Culture 可根据线程的语言环境动态读取不同的资源文件,不同资源文件名用语言环境文本进行区分 阅读全文

posted @ 2018-10-30 16:11 碎羽love星谊 阅读(125) 评论(0) 推荐(0)

导航