У меня есть TreeView и многострочный TextBox.Когда пользователь щелкает узел в древовидной структуре, его свойство Text
будет добавлено в TextBox.
По умолчанию каждый раз, когда щелкают по узлу (или нажимают клавишу ввода, когда древовидное представление имеет фокус и тому подобное)...), TextBox будет очищен и будет добавлен новый 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);
}