Dot-Net

這是什麼控制?(帶有下拉菜單的“打開”按鈕)

  • September 22, 2019

在某些 Windows 應用程序中使用的打開文件對話框上的Open按鈕包括一個帶有附加選項列表的下拉箭頭 - 即Open With...

打開文件對話框

我沒有在每個 Windows 應用程序中都看到這個,所以你可能需要嘗試一些來獲得它,但是如果你進入菜單並選擇*File-> Open- ,SQL Server Management Studio 和 Visual Studio 2017 都會以這種方式顯示按鈕>File...*

我想在我的一個應用程序中使用這樣的按鈕和內置列表,但我在 Visual Studio 的任何地方都找不到他們使用的控制項。我應該澄清一下,我正在尋找那個特定的按鈕,而不是整個對話框。有什麼想法嗎?

我使用 Spy++(與 VS 一起安裝)中的可拖動搜尋來查看 VS 文件打開對話框上的拆分打開按鈕。

這表明它是一個普通的 Windows 按鈕,其樣式包括 BS_DEFSPLITBUTTON。這是一個神奇的關鍵字,可以帶你到一些有趣的地方,包括

http://www.codeplex.com/windowsformsaero/SourceControl/FileView.aspx?itemId=212902&changeSetId=9930

和這裡

http://msdn.microsoft.com/en-us/library/bb775949.aspx#using_splits

希望這對您有所幫助。

編輯:

實際上,我剛剛嘗試過 CodePlex 中的程式碼,它確實創建了一個拆分按鈕 - 但您必須確保已將按鈕的 FlatStyle 設置為“系統”而不是“標準”,這是預設設置。我沒有費心為下拉列表連接事件處理的東西,但我認為這在 MSDN 連結中有所介紹。

當然,這僅適用於 Vista(但不需要啟用 Aero,儘管 codeplex 上的名稱) - 如果您需要更早的作業系統支持,您將自己重新繪製它。

引用自:https://stackoverflow.com/questions/31090