我在WinForms中製作了多語言(計算機語言)記事本。我有一個名爲「Languages」的toolstripmenuitem菜單條(如文件,編輯,查看等)。當你點擊「語言」時,有幾個可檢查的菜單項。我想這樣做:當一個項目被點擊時,它會顯示檢查;當用戶再次點擊它時,它顯示爲未選中狀態。我如何根據java,c,C++等語言來編譯編譯器。C#記事本項目幫助
0
A
回答
2
你不想檢查,檢查多種語言沒有意義。你需要一個單選按鈕。您可以通過覆蓋菜單條的渲染器來獲得一個。您還需要處理菜單項的CheckedChanged事件,以便只能選擇一個。這個代碼將做的伎倆:
public partial class Form1 : Form {
private ToolStripMenuItem[] languages;
private bool mBusy;
public Form1() {
InitializeComponent();
languages = new ToolStripMenuItem[] { javaToolStripMenuItem, cSharpToolStripMenuItem, pythonToolStripMenuItem };
foreach (var language in languages) {
language.CheckOnClick = true;
language.CheckedChanged += LanguageMenuItem_CheckedChanged;
}
menuStrip1.Renderer = new MyRenderer(languages);
}
void LanguageMenuItem_CheckedChanged(object sender, EventArgs e) {
if (mBusy) return;
mBusy = true;
ToolStripMenuItem item = sender as ToolStripMenuItem;
foreach (var language in languages) language.Checked = language == item;
mBusy = false;
}
private class MyRenderer : ToolStripProfessionalRenderer {
private ToolStripMenuItem[] languages;
public MyRenderer(ToolStripMenuItem[] languages) { this.languages = languages; }
protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) {
ToolStripMenuItem item = e.Item as ToolStripMenuItem;
if (item != null && languages.Contains(item))
RadioButtonRenderer.DrawRadioButton(e.Graphics, e.ImageRectangle.Location,
System.Windows.Forms.VisualStyles.RadioButtonState.CheckedNormal);
else
base.OnRenderItemCheck(e);
}
}
}
+0
非常感謝。現在有人可以發佈關於如何訪問每種編程語言的編譯器的代碼。 – 2009-11-14 08:42:04
0
你應該有一個設置文件來存儲每個編譯器的路徑/位置。當用戶選擇語言時,您應該獲得所選語言的匹配編譯器的路徑/位置。
相關問題
- 1. 幫助基本MVC項目
- 2. HTML幫助應用程序記事本++
- 3. 記事本++幫助行的名稱
- 4. C#速記幫助
- 5. GUI項目幫助
- 6. Visual C#初學者空項目幫助?
- 7. C#MDI事件幫助
- 8. 幫助捲曲和C# - 基本(GoPay項目)
- 9. 幫助編譯silverlight項目!
- 10. 導軌項目幫助
- 11. corejava需要項目幫助
- 12. 的NSMutableString幫助目標C
- 13. 事件幫助
- 14. 記事本++菜單中缺少項目
- 15. 記事本++的項目文件?
- 16. 記事本++查找/替換正則表達式幫助
- 17. 需要幫助尋找與冒號記事本++
- 18. 記事本++的正則表達式的幫助
- 19. XML記事本2007年打破MS Access 2007幫助
- 20. 需要幫助在VB.NET列表/記事本
- 21. 請幫助我使用Android記事本教程
- 22. 我需要幫助UIView上的UITableView(故事板項目)
- 23. 需要幫助瞭解事件在C#
- 24. C#WinForms UserControl鼠標事件幫助
- 25. C#Xamarin Android。 ButtonClick事件幫助需要
- 26. 混合C#和HTML幫助器標記
- 27. 我需要幫助...........示例項目
- 28. 幫助推薦Qt開源項目
- 29. windows窗體幫助ERP項目
- 30. QuickBooks項目查詢幫助需要
你的問題不是很清楚,你需要菜單或編譯器列表的幫助嗎? – 2009-11-13 14:33:31
如果可能的話,我希望能夠同時使用這兩種幫助。就像一個名爲Compile的菜單項。 – 2009-11-13 14:35:26