我有一個TreeView和一個多行文本框。當用戶點擊樹形視圖中的一個節點時,它的Text
屬性將被添加到文本框中。按鍵改變布爾?最佳做法是什麼?
默認情況下,一個節點被點擊(或按下回車鍵時,TreeView控件具有焦點,諸如此類的東西......)每次,文本框將被清除,所選擇的節點的新Text
將被添加。
但我正在尋找一種方式,即當用戶持有修改鍵(ctrl或shift ...)時,文本框將不會被清除,並且新選定的節點文本將被添加到文本框中而不會清除任何內容。
我在想有一個布爾值,每當按下修飾鍵時,它就會變成假,當鍵被釋放時它會變回真。
public bool ClearBox = true;
後來:
private void AddText(string text)
{
if(ClearBox == true) //by default it is true
{
textBox.Clear();
textBox.Text = text;
}
else //user is holding a modifier key so the ClearBox is false now
{
textBox += Environment.NewLine + text;
}
}
節點選擇事件:
private void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
//How to check here if a modifire key is being pressed (holded) ?
this.AddText(treeView.SelectedNode.Text);
}
問題是我怎麼能知道用戶持有修飾鍵,所以文本框不會自我刷新。 –