你SendMessage发的是什么消息?拖动鼠标的时候可不可以先判断窗口大小再发消息?
解决方案 »
- c#窗体程序调用oracle存储过程返回ref cursor
- 用户登陆后,在用户后台用户基本数据信息的性别一行用表单的radio怎么显示哈
- 关于拼图游戏无解。。。。
- 关于Role的问题
- 如何在一个解决方案中使用一个资源文件
- 求助:C#中输入控制的问题
- 如何得到当前函数或程序块的变量快照?就像Visual Studio.net调试器中的局部变量窗口一样。
- form1的datagrid如何与form2中的dataset绑定
- 有大神帮忙看看正则表达是的问题
- 这样过滤掉数据集中的一些列??
- Win7下,ToolTip控件设置了BackColor和ForeColor都无效?
- 关于C#使用API读取INI文件
{
Win32.SendMessage(_HwndSource.Handle, 0x112, (IntPtr)(61444), IntPtr.Zero);
}
_HwndSource.Handle是窗口的句柄判断了窗口大小也没用。比如
if(this.ActualWidth > this.MinWidth)
//执行SendMessage()
条件只是限制在窗口宽小于最小宽的时候,不执行
如果宽大于最小宽,就可以执行,只要一旦执行了SendMessage,就可以随意拖动了,而无视了最小宽和高
有句柄的话有没有试试MoveWindow,要不试试PostMessage?
private void window_Resize(object sender, System.Windows.Input.MouseEventArgs e)
{
if (resizeType == ResizeType.Width)
{
double width = e.GetPosition(win).X + 5;
if (width > 0)
{
win.Width = width;
}
}
if (resizeType == ResizeType.Height)
{
double height = e.GetPosition(win).Y + 5;
if (height > 0)
{
win.Height = height;
}
}
}
private void TitleBar_MouseLeftDown(object sender,MouseButtonEventArgs e)
{
Window win = (Window)((FrameworkElement)sender).TemplatedParent; if (e.ClickCount == 2)
{
//win.Close();
//在这里调用最大化窗体或者还原!
return;
}
win.DragMove();
}
private void TitleBar_MouseLeftDown(object sender,MouseButtonEventArgs e)
{
Window win = (Window)((FrameworkElement)sender).TemplatedParent; if (e.ClickCount == 2)
{
//win.Close();
//在这里调用最大化窗体或者还原!
return;
}
win.DragMove();
}