首先把窗体的边框设置为NOne
然后在窗体上放两个控件,一个代表做边框,一个带表右边框
如何在WndProc中判断鼠标停在在那个控件上(边框上)呢
如果不重载WndProc能不能实现呢

解决方案 »

  1.   

    好象我没有说好。这个控件是别人写的,没有一点关于鼠标的事件(onmouse)
    所以我才想到这个方法
      

  2.   

    把你的需求说出来吧, 想完成什么功能, 我觉得你把事情复杂化了, 为什么要放两个控件来做边框? 为的是调整窗体的大小么? 如果是这样,建议不要把窗体设为none, 直接屏蔽掉最大化, 最小华, 关闭按钮即可.
      

  3.   

    哦, 如果是想不让窗体移动的话, 可以用消息来完成
    private const int WM_NCHITTEST = 0x84;
    private const int HTCLIENT = 0x1;
    private const int HTCAPTION = 0x2; protected override void WndProc(ref Message m) {
    switch(m.Msg) {
    case WM_NCHITTEST:
    base.WndProc(ref m);
    if ((int)m.Result == HTCAPTION)
    m.Result = (IntPtr)HTCLIENT;
    return;
    break; } base.WndProc(ref m);
    }