随笔分类 -  C#窗体、控件

判断屏幕数量及跳转
摘要:if (Screen.AllScreens.Length == 2) { //此显示器是否为主屏 if (Screen.AllScreens[0].Primary) { this.Top = Screen.AllScreens[1].Bounds.Y; this.Left = Screen.AllS 阅读全文

posted @ 2020-12-22 08:42 mol1995 阅读(233) 评论(0) 推荐(0)

通过CheckBox实现TreeView的多选功能
摘要:https://www.cnblogs.com/lidaying5/p/5924707.html 阅读全文

posted @ 2020-09-08 12:24 mol1995 阅读(192) 评论(0) 推荐(0)

CTR+A组合键 以及终止按键事件传递
摘要:Key UP 或Down 事件中 实现CTR+A全选 if ( Control.ModifierKeys==Keys.Control && e.KeyCode == Keys.A) { tb_pnts.SelectAll(); } 阻止按键事件传递,须在KeyDown事件中,而不能在KeyUp事件中 阅读全文

posted @ 2019-08-30 23:02 mol1995 阅读(676) 评论(0) 推荐(0)

BackgroundWorker 的输入、输出参数、进度条与文字刷新、取消机制、返回事件
摘要:1. 定义全局变量 BackgroundWorker backgroundwoker; 2. 点击开始按钮或其它时机初始化 backgroundwoker = new BackgroundWorker(); backgroundwoker.WorkerSupportsCancellation = t 阅读全文

posted @ 2019-08-27 17:30 mol1995 阅读(736) 评论(0) 推荐(0)

获取主屏幕或当前屏幕的大小
摘要:Screen.PrimaryScreen.Bounds,可以获取屏幕的完整尺寸,但是只能获取主显示器的尺寸, Screen.GetBounds(this),可以获取程序所在的屏幕尺寸。 另外,this.TopLevelControl as Form 只能获取当前控件附着在最顶层窗体,而不是最外层框架 阅读全文

posted @ 2018-01-01 10:05 mol1995 阅读(290) 评论(0) 推荐(0)

易混淆的Window窗体与父窗体之间位置关系
摘要:假设有abc三个窗体,a是最外层窗体,b是a的子窗体,c是b的子窗体 c.Top,c.Left,c.Bottom,c.Location等都是相对于B的左上角点的,子窗体的位置点都是相对于父窗体而言的,同样,b.Top,b.Left,b.Location等都是相对于A的左上角点的 所以,判断C的底端是 阅读全文

posted @ 2017-12-09 14:30 mol1995 阅读(173) 评论(0) 推荐(0)

创建扩展/自定义控件的方法
摘要:例如,要创建自定义TextBox控件, 新建一普通类,类名如MyTextBox,在其后添加:TextBox表示继承于TextBox,如 public class MyTextBox:TextBox { } 生成后,此类自动成为自定义控件,并出现在工具栏中 2、添加自定义事件 在类的构造函数中,声明事 阅读全文

posted @ 2017-10-07 23:05 mol1995 阅读(194) 评论(0) 推荐(0)

将界面最小化到系统托盘的完整步骤
摘要:1、界面上拖拽添加NotifyIcon控件 notifyIcon1 2、为此控件设置图标 3、添加主界面最小化事件 private bool notifyiconHasInitialzed=false;//此变量用于控制避免重复执行后面的初始化函数 private void MF_SizeChang 阅读全文

posted @ 2017-06-05 10:19 mol1995 阅读(2899) 评论(0) 推荐(0)

2013-7-22 确定鼠标与控件位置关系
摘要:Rectangle rect1 = panel1.Bounds; rect1 = MF.mf.RectangleToScreen(rect1); if (rect1.Contains(MousePosition))... // MousePosition是鼠标绝对位置,所有控件的边界必须用顶级父窗口 阅读全文

posted @ 2016-10-15 19:18 mol1995 阅读(236) 评论(0) 推荐(0)

2012-07-02 无边框最大化窗体 全屏显示
摘要:this.FormBorderStyle = FormBorderStyle.None; // 窗口最大化时不显示任务栏。 this.WindowState = FormWindowState.Maximized; //窗口最大化。 要实现覆盖任务栏,需加上两句: this.SetVisibleCo 阅读全文

posted @ 2016-10-15 18:56 mol1995 阅读(186) 评论(0) 推荐(0)

2012-4-2 通过MdiParent设置窗体最前
摘要:SentenceForm form = new SentenceForm(); form.MdiParent = this; form.Show(); //form.MdiParent = this;用了这句代码就只能form.Show() //form.ShowDialog(this);//要用这 阅读全文

posted @ 2016-10-15 18:53 mol1995 阅读(223) 评论(0) 推荐(0)

2014.2.23加载大数据时不闪烁的listView
摘要:namespace 相册处理 { //将ListView重载为此新类,解决加载过程中闪烁的问题 //在designer.cs中改写: //private ListViewNeverFlickering listView1; //this.listView1 = new ListViewNeverFl 阅读全文

posted @ 2016-10-15 18:36 mol1995 阅读(297) 评论(0) 推荐(0)

2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生
摘要:主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序 1、主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中有各字框体的new创建语句,因此: 2、依次执行各子窗体InitializeComponent函数 阅读全文

posted @ 2016-10-15 18:13 mol1995 阅读(598) 评论(0) 推荐(0)

2016.5.30实现透明Panel及控件置顶的方法
摘要:想放置一个透明Panel在某控件上端,实现效果是可透过此Panel看见下面控件,但鼠标点击却无任何反应。 1、新建置自定义Panel类 using System; using System.Collections.Generic; using System.Linq; using System.Te 阅读全文

posted @ 2016-10-15 18:12 mol1995 阅读(2065) 评论(0) 推荐(1)

2016.6.14自定义控件添加自定义事件
摘要:mypan.MouseDoubleClick+=new MouseEventHandler(mypan_MouseDoubleClick); //对自定义控件添加自定义事件 实现: private void mypan_MouseDoubleClick(object sender, System.E 阅读全文

posted @ 2016-10-15 18:12 mol1995 阅读(242) 评论(0) 推荐(0)

2016.5.30让窗口处于最顶层的方法
摘要:一、需要始终置顶时 最方便的方法是设置TopMost=true,当该属性必须在窗体完全显示完成后才有作用,否则置顶状态会不稳定。 应当设置在Shown事件中 (2020.2.4) 窗体事件执行顺序是 窗体构造函数(包含InitializeComponent事件) — Load事件 — Shown事件 阅读全文

posted @ 2016-10-15 18:11 mol1995 阅读(599) 评论(0) 推荐(0)

2016.4.6 WinForm显示PDF两种方法
摘要:1、最直接的方法,添加webbrowser控件 webb.Url = new Uri(path);可显示pdf控件。 如果需要在打开时跳转到某页,可用在路径后直接加#page=,例如webb.Url = new Uri("d:\\a.pdf#page=5") 如果设置打开时的放大率,可用webb.U 阅读全文

posted @ 2016-10-15 18:06 mol1995 阅读(3297) 评论(0) 推荐(0)

2015.11.3 RichBox改变若干文本颜色
摘要:for(int i=1;i<rtb.Lines.Length;i++) { if(rtb.Lines[i] == rtb.Lines[i - 1]) { int bg = rtb.GetFirstCharIndexFromLine(i);//获得当前行起始位置 rtb.Select(bg, rtb. 阅读全文

posted @ 2016-10-15 17:33 mol1995 阅读(231) 评论(0) 推荐(0)

2015.9.2 文本框中获取当前位置的所在行和列
摘要:int totalline = textBox1.GetLineFromCharIndex(textBox1.Text.Length) + 1;//得到总行数。该行数会随着文本框的大小改变而改变;若只认回车符为一行(不考虑排版变化)请用 总行数=textBox1.Lines.Length;(记事本2 阅读全文

posted @ 2016-10-15 17:32 mol1995 阅读(361) 评论(0) 推荐(0)

2015.3.11 VS异步控件及进度条结合应用
摘要:1、在Form中添加 指针控件:BackgroundWorker-bgwork;进度条控件progressBar1 以及开始、取消按钮 2、开始按钮启动异步线程 private void button1_Click(object sender, EventArgs e) { bgwork.Worke 阅读全文

posted @ 2016-10-15 17:24 mol1995 阅读(340) 评论(0) 推荐(0)

导航