就是单击窗体左上角的图标会显示一个系统菜单,双击则会关闭窗体,这两个功能都不需要,想做成其它功能,得调Api吧,哪位高手知道?
解决方案 »
- aspx页面的“最小化”按钮如何 最小化 winform 窗口程序
- 各位已在工作了的朋友,在做项目开发时,平时都应该注意一些什么?非常感谢能给我们即将毕业的学生提醒一下!
- 各位大哥帮帮忙啊,小妹在线等!!
- 数组问题?
- 初学者
- 请问checkedListBox1如何设置其各个Item的颜色?(是item的背景色)
- #########有个很好的项目想外包########
- 微软技术
- 如何将Paradox表导出到xml文件啊?
- 奇怪的现象,关注一下如何?
- C# winform查看设计器,会报错,未将对象引用设置到对象的实例,但运行的时界面能出来,而且没问题,请教高手,为什么呢?急!急!
- 怎样将用户控件添加到工具栏中?
参考
http://www.cnblogs.com/anderslly/archive/2008/07/09/617153.html
protected override CreateParams CreateParams
{
get
{
int CS_NOCLOSE = 0x200;
CreateParams parameters = base.CreateParams;
parameters.ClassStyle |= CS_NOCLOSE; return parameters;
}
}
{
/**//// <summary>
/// 获取已设置无法关闭窗口创建参数。
/// </summary>
protected override CreateParams CreateParams
{
get
{
int CS_NOCLOSE = 0x200;
CreateParams parameters = base.CreateParams;
parameters.ClassStyle |= CS_NOCLOSE; return parameters;
}
}
}
这个还可以!看看,嘿嘿
上面这个代码是可以直接使用的
使用上面代码后窗体不能关闭了!
我只是要左边图标双击时不关闭,有办法吗?我现在能通过api获取双击标题栏的事件(估且称为事件吧),能获取双击图标的吗?
1:右边的关闭按钮是一定要要的
2:双击标题栏折叠窗口(已经实现)
3:双击窗体图标最大化窗口(问题所在)好像把边框类型设为toolWindow可以隐藏图标,但那个标题栏太小了,惨不忍睹
protected override void OnFormClosing(FormClosingEventArgs e)
{
//判断鼠标的坐标如果在左上角
//就执行 e.Cancel = true;
//和其他的实现其他功能;
//如果在右上角就就关闭窗体
}
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x112)
{
if (m.WParam.ToInt32() == 61539 || m.WParam.ToInt32() == 61587)
{
Console.WriteLine(m.WParam);
return;
}
}
base.WndProc(ref m);
}
}
}