2014-01-22 18 views
1

我想製作一個按鈕,可以下拉包含用戶幫助文檔的多行標籤或表單。如何在C#Winforms中創建下拉信息框?

我已經搜索,但找不到任何適用於C#Winforms的內容。是否有任何自由控制存在,或者我將不得不自己創建它? 非常感謝, 理查德

+0

這似乎有點不清楚......你想要一個按鈕來打開一個包含幫助文檔的表單嗎? –

+0

你的意思是提示嗎? – Swift

+0

我不想打開一個新的窗體窗口,而是包含文檔的當前窗體上的一個框。 – Richie

回答

2

使用ToolStripControlHost和ToolStripDropDown控件可以爲您提供這樣的:

private void button1_Click(object sender, EventArgs e) { 
    var helpInfo = new StringBuilder(); 
    helpInfo.AppendLine("This is line one."); 
    helpInfo.AppendLine("This is line two."); 
    var textHelp = new TextBox() { Multiline = true, 
           ReadOnly = true, 
           Text = helpInfo.ToString(), 
           MinimumSize = new Size(100, 100) 
           }; 
    var toolHost = new ToolStripControlHost(textHelp); 
    toolHost.Margin = new Padding(0); 
    var toolDrop = new ToolStripDropDown(); 
    toolDrop.Padding = new Padding(0); 
    toolDrop.Items.Add(toolHost); 
    toolDrop.Show(button1, button1.Width, 0); 
} 

結果:

enter image description here

+0

謝謝,我究竟是什麼! – Richie

1

我認爲這將是一個糟糕的用戶體驗,看到一個點擊按鈕的工具提示。但是,你可以使用這個,如果你真的想

var b = new Button(); 
b.Click += (sender, args) => new ToolTip().Show("Help documentation", b.Parent, new Point(b.Location.X, b.Location.X + 10));