WinForm界面样式
1、去掉winform中标题栏关闭按钮
ControlBox属性设置为False
2、去掉WinForm的标题栏
Form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
或者 FromBorderStyle 的属性设为None
3、
WinForm自定义标题栏(转载自http://www.cnblogs.com/wangshuai/archive/2010/10/28/1863980.html)
转自 http://www.cnblogs.com/wangshuai/archive/2010/10/28/1863980.html
这里只是一个功能的演示,代码也很简单,大体思路是把一个窗体的FormBorderStyle设为None,这是就没有标题栏了,然后自己添加两个Panel,一个为PanelCaption,一个为PanelContent,PanelCaption作为这个窗体的标题栏,图片如下:
上面蓝色部分为标题栏,下面很色部分为内容
代码如下:
注:代码中的panel1是标题栏的Name
public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static Point CPoint; bool down = false; private void panel1_MouseDown(object sender, MouseEventArgs e) { CPoint = new Point(e.X,e.Y); down = true; } private void panel1_MouseMove(object sender, MouseEventArgs e) { if (down == true) { if (e.Button == MouseButtons.Left) { Point mousePosition = Control.MousePosition; mousePosition.Offset(-CPoint.X,-CPoint.Y); this.DesktopLocation = mousePosition; } } } }
4、重画整个非客户区
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_NCPAINT)
{
//你的重画代码;
}
}
5、C#的winform中MDI 父窗体改变背景色(转自http://www.cnblogs.com/kenter/archive/2010/05/26/1744390.html)
当您使用一个 Windows 窗体作为一个 MDI 父窗体时, 在 Windows 控制面板,不窗体的 BackgroundColor 属性, 应用程序背景 颜色设置确定窗体的背景颜色。 下面的步骤演示了如何以编程方式在 MDI 父窗体的背景色更改为另一种颜色。
使用 Visual C# .NET 创建一个示例 Windows 应用程序
- 创建一个新的 Visual C# Windows 应用程序。 默认情况下会创建 Form 1。
- 单击窗体,然后,在 视图 菜单上,选择 属性窗口 以查看为窗体属性。
- 将 背景色 属性设置为所需 (如 LightBlue ) 颜色。
- 将 IsMDIContainer 属性设置为 True 。 请注意窗体的背景色更改为控制面板中 应用程序背 景色设置为的颜色。
- 将 WindowState 属性设置为 Maximized 。
- 双击窗体查看它的代码窗口。
- 将下面的代码粘贴到窗体的 Load 事件处理程序:
MdiClient ctlMDI; // Loop through all of the form's controls looking // for the control of type MdiClient. foreach (Control ctl in this.Controls) { try { // Attempt to cast the control to type MdiClient. ctlMDI = (MdiClient) ctl; // Set the BackColor of the MdiClient control. ctlMDI.BackColor = this.BackColor; } catch (InvalidCastException exc) { // Catch and ignore the error if casting failed. } } // Display a child form to show this is still an MDI application. Form2 frm = new Form2(); frm.MdiParent = this; frm.Show();