winform开发杂碎知识点
1、Form属性
起始位置:StartPosition
默认最大化:WindowState
最小尺寸:MinimumSize
是否父窗体:IsMdiContainer
ImeMode
图标:icon
2、Form事件
3、Location
元素相对父控件或父元素的位置
1 this.panelLogin.BackColor = System.Drawing.Color.White; 2 this.panelLogin.Controls.Add(this.btnCancel); 3 this.panelLogin.Controls.Add(this.btnOK); 4 this.panelLogin.Location = new System.Drawing.Point(415, 130); 5 this.panelLogin.Name = "panel1"; 6 this.panelLogin.Size = new System.Drawing.Size(250, 200); 7 this.panelLogin.BorderStyle = BorderStyle.Fixed3D; 8 this.panelLogin.TabIndex = 5; 9 10 11 this.btnCancel.Appearance.Font = new Font("Tahoma", 10f); 12 this.btnCancel.Appearance.Options.UseFont = true; 13 this.btnCancel.Location = new Point(140, 155); //相对父控件panel的位置 14 this.btnCancel.Name = "btnCancel"; 15 this.btnCancel.Size = new Size(65, 25); 16 this.btnCancel.TabIndex = 29; 17 this.btnCancel.Text = "取消"; 18 this.btnCancel.ToolTipController = this.toolTipCtrl; 19 this.btnCancel.Click += new EventHandler(this.HrMvemJgVa); 20 21 22 this.btnOK.Appearance.Font = new Font("Tahoma", 10f); 23 this.btnOK.Appearance.Options.UseFont = true; 24 this.btnOK.Location = new Point(50, 155); 25 this.btnOK.Name = "btnOK"; 26 this.btnOK.Size = new Size(65, 25); 27 this.btnOK.TabIndex = 28; 28 this.btnOK.Text = "登录"; 29 this.btnOK.ToolTipController = this.toolTipCtrl; 30 this.btnOK.Click += new EventHandler(this.btnOK_Click);
4、设计器文件不显示
从别地方拷贝来的代码,粘贴到代码目录下,右键项目-》添加-》现有项-》选择代码。这个时候可能设计器不显示了,需要手动调整下项目的csproj文件,按照以下模式处理好依赖关系。
<Compile Include="Tabbd.cs"> <SubType>Form</SubType> </Compile> <Compile Include="Tabbd.Designer.cs"> <DependentUpon>Tabbd.cs</DependentUpon> </Compile> <EmbeddedResource Include="Tabbd.resx"> <DependentUpon>Tabbd.cs</DependentUpon> </EmbeddedResource>
注意:经过验证,添加现有项的时候只选择Form.cs文件,不要一起选择Designer.cs文件,最终窗体文件和设计器文件成功加载到vs工程,不用手动再调整csproj文件了!!!
5、[设计]界面报错,“文件中的类都不能进行设计,因此未能为该文件显示设计器。………………未能加载基类‘BaseForm’。请确保已引用该程序集并已生成所有项目。”
先右键生成或重新生成下项目,即可打开设计界面。
6、devexpress15.1破解及加入vs工具箱
1. 安装 点击DevExpressComponents-15.1.3.15167.exe 2.破解 管理员权限点击DevExpress.Patch.exe 3.加到工具箱 在左侧‘工具箱’的空白区域右键-》‘选择项’-》选择本机dev的安装目录下的dll文件即可。
7、panelcontrol或groupcontrol的backcolor属性不起作用
The BackColor property is in effect in the following cases: the BorderStyle property is set to NoBorder. the PanelControl object is painted using a non-skinning painting scheme.
panel的BorderStyle 属性设置为 NoBorder,背景色才起作用。
8、设置TextBox高度
1.将TextBox设为多行模式,设置MutliLine属性为True,然后屏蔽Enter键
private void txtTest_KeyDown (object sender, KeyEventArgs e)
{ if ((int)e.keyCode == 13)
{ e.SuppressKeyPress = true;
}
} 2.在属性窗口改变字体大小,间接改变TextBox的高度 3.保持单行模式,设置AutoSize为false,再设置高度。AutoSize属性是被隐藏起来的,需要在代码里直接设置 xtlest.AutoSize = false; txtlest.Height = 18;
9、背景设置
一般设置borderstyle=noborder,再设置背景色或图片才会生效
10、图片在panel中居中
设置noborder,然后将图片作为contentimage使用,即可居中显示图片。
11、label居中
autosize为false,docker为fill,textalign为middlecenter。
12、ChartControl图表
设置每个柱体颜色不一样:
选中柱状图的series,在属性页面,设置view属性中的ColorEach为true即可实现。
取消柱体颜色默认渐变效果:
选中柱状图的series,在属性页面,设置view的fillmode为solid。
13、控件的层次布局
this.picturebox1.SendToBack();//将背景图片放到最下面
this.panel1.BringToFront();//将panel放在前面
14、图片自适应
1.
Panel中放入pictureBox1,设置图片的 Image , SizeMode 属性为 StretchImage
设置 pictureBox1 的 Anchor 为 Top, Bottom, Left, Right。
2.
使用tablelayoutpanel,设置其backgroundimage为图片,设置backgroundimagelayout为Stretch。
15、批量添加子控件(先将子控件批量放入数组,再一次性添加);
Control[10] coontrl = new Control[10]; Button b = new Button(); control.add(b); Form.Controls.AddRange(control);
16、设置状态栏StatusStrip的内容居中
statusStrip = new StatusStrip(); toolStripStatusLabel = new ToolStripStatusLabel(); // 设置Spring属性为true以使标签居中 toolStripStatusLabel.Spring = true; toolStripStatusLabel.Text = "居中的状态栏内容"; toolStripStatusLabel.TextAlign = ContentAlignment.MiddleRight; // 右对齐文本 statusStrip.Items.Add(toolStripStatusLabel); this.Controls.Add(statusStrip);
17、当前活动的控件(有焦点)
Control con = this.ActiveControl; SysFile.WriteLog("当前活动的控件:"+con.Name);