//具体实现参照你的实际情况
       private void yourform_Load(object sender, System.EventArgs e)
        {
            int lSysMenu;
            const int  MF_BYPOSITION = 1024;
            lSysMenu = WinApi.GetSystemMenu(this.Handle.ToInt32(), 0);
            WinApi.RemoveMenu(lSysMenu, 6, MF_BYPOSITION);
            //WinApi.RemoveMenu(lSysMenu, 5, MF_BYPOSITION);
        }// 调用 WIN32 DLL API 
public class WinApi
{
[DllImport("User32.dll")]
public static extern int GetSystemMenu(int hWnd, int bRevert);
[DllImport("User32.dll")]
public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);
}

解决方案 »

  1.   

    常规办法恐怕做不到这一点.要想实现这个效果,你可以建一个BorderStyle=FormBordeStyle.None的窗口,然后在Paint事件中自绘标题栏,最小化,最大化按钮.通过处理鼠标的MouseMove ,MouseDown事件来实现标准WINDOWS窗口的那样效果.
      

  2.   

    在Closing事件里面:
    e.Cancel=true;
      

  3.   

    AhBian(阿扁) 的方法是正确的.
      

  4.   

    使关闭按钮失效
    private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {

    e.Cancel=true;
    }