2009-08-13 48 views

回答

3

你真的需要變化現有窗口的樣式,或者你需要創建它從一個給定的風格開始走?如果是前者(聽起來像它,您的問題的其餘部分),那麼你只需要重寫你的Form(或者不管它是什麼),並改變返回值的ClassStyleStyleExStyle屬性值CreateParams屬性:

protected override CreateParams CreateParams 
    { 
     get 
     { 
      CreateParams createParams = base.CreateParams; 
      createParams.Style |= WS_...; 
      return createParams; 
     } 
    } 

要改變現有的窗口的風格,你將不得不使用的P/Invoke調用GetWindowLong檢索的GWL_STYLE的電流值(或GWL_EXSTYLE,無論你需要)的窗口中,根據需要翻轉位,並撥打SetWindowLong將其設回。您可以在兩個函數中找到P/Invoke簽名,以及與GWL_EXSTYLE,here一起使用的示例。

+0

我需要改變現有窗口的樣式。 – Moon 2009-08-13 05:30:05

+0

已更新的答案涵蓋了這種情況。 – 2009-08-13 05:44:26