原創|使用教程|編輯:龔雪|2025-06-18 10:59:56.500|閱讀 95 次
概述:本教程提供DevExpress WinFormsWinExplorer視圖的基本信息,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
在本文中您將學習到如何向View項添加上下文按鈕,從而將View轉換為交互式圖像庫。
由于WinExplorer視圖可以被視為帶有數據源的圖像庫,因此您可能希望允許最終用戶與這些圖像進行交互,這可以使用上下文按鈕功能來完成。
DevExpress技術交流群11:749942875 歡迎一起進群討論
首先將視圖的設置為,這將為圖像區域內的上下文按鈕提供足夠的空間。
然后,從中刪除。啟動應用程序,看到現在只有圖像顯示。
接下來,找到屬性并調用編輯器對話框。
在這里,您可以添加由所有視圖項共享的上下文按鈕。有三種按鈕類型:簡單的按鈕、檢查按鈕和評級控件,選擇一個簡單的Context Button類型按鈕類型并將其添加到集合中,以類似的方式,添加另一個簡單的按鈕、一個檢查按鈕和一個評級控件。
第一個按鈕將用作顯示汽車型號名稱的標簽,目前將其設置為MODEL,并將其與MiddleTop對齊。
對于第二個按鈕,從DevExpress圖標庫中選擇問號圖像,此按鈕將顯示其他汽車信息。
更改屬性來將此按鈕移動到右上角。
評級項目將允許最終用戶對汽車進行評級,將其移動到MiddleBottom位置。
默認情況下,當您將鼠標懸停在相應區域時,按鈕將顯示在基礎圖像上方。您還可以啟用頂部和底部面板,它們將作為按鈕的容器出現。展開屬性,設置頂部和底部面板的背景色為150,0,0,0,這是一個半透明的黑色,然后為兩個面板添加填充。
運行應用程序來查看結果,面板已經出現,但現在面板和按鈕顏色之間沒有足夠的對比。
返回到上下文按鈕編輯器,并將所有項目的前景色設置為Gainsboro,確保打開字形皮膚功能,以便按鈕圖標被繪制為相同的顏色。
然后再次啟動應用程序,看到所有顏色都已應用。
要正確初始化復選框和標題標簽,處理事件,它允許您在按鈕顯示在項目中之前自定義按鈕。要設置標題按鈕中的值,請將其屬性設置為當前記錄中的Model Name列值。類似地,根據In Stock列的值設置檢查按鈕的屬性。
C#
using DevExpress.XtraGrid.Views.WinExplorer; // ... private void winExplorerView1_ContextButtonCustomize(object sender, DevExpress.XtraGrid.Views.WinExplorer.WinExplorerViewContextButtonCustomizeEventArgs e) { WinExplorerView view = sender as WinExplorerView; if (view == null) return; if (e.Item.Name == "contextTitleButton") ((ContextButton)e.Item).Caption = (string)view.GetRowCellValue(e.RowHandle, colModel_Name); if (e.Item.Name == "CheckContextButton") ((CheckContextButton)e.Item).Checked = (string)view.GetRowCellValue(e.RowHandle, colInStock); }
運行應用程序來查看更改——在頂部面板中顯示的汽車型號和指示庫存汽車的復選框。
最后,處理WinExplorerView.ContextButtonClick事件,對于任何被單擊的按鈕,無論其類型如何,該事件都會觸發。首先確定單擊了哪個按鈕,如果是問號按鈕,則顯示一個消息框,其中包含有關汽車的其他信息,這些信息由來自同一數據記錄的字段值組成。
C#
using DevExpress.XtraGrid.Views.WinExplorer; // ... private void winExplorerView1_ContextButtonClick(object sender, ContextItemClickEventArgs e) { WinExplorerView view = sender as WinExplorerView; if (view == null) return; string caption = e.Item.Name; switch (caption) { case "ContextButton": string horsepower = view.GetRowCellValue((Int32)e.DataItem, colHorsePower).ToString; string cilinders = view.GetRowCellValue((Int32)e.DataItem, colCilinders).ToString; string doors = view.GetRowCellValue((Int32)e.DataItem, colDoors).ToString; string mpgCity = view.GetRowCellValue((Int32)e.DataItem, colMPGCity).ToString; string mpgHighway = view.GetRowCellValue((Int32)e.DataItem, colMPGHighway).ToString; XtraMessageBox.Show("Horsepower: " + horsepower + "\nCilinders: " + cilinders + "\nDoors: " + doors + "\nMPG City: " + mpgCity + "\nMPG Highway: " + mpgHighway, "Additional Info"); } }
運行應用程序并單擊其中一項中的問號按鈕來查看消息框。
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都科技是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網