Treeview.HideSelection=false;を変更しました。しかし、フォーカスが失われたときに、選択したアイテムが元の選択した色のままであることを保証するにはどうすればよいですか?
編集:
プロセスイベントのリストを保持するフォームにリストビューがあります。同じフォームのツリービューの横には、リストビューでイベントを分類するためにユーザーが完了する一連の選択があります。ただし、ユーザーが分類コントロールの1つを選択すると、青で強調表示された選択されたTreeviewアイテムが灰色に変わります。この色を定義するプロパティを見つけて、同じ色を青にすることを望んでいました。
助言がありますか。
アップデート:
public partial class myTreeView : TreeView
{
TreeNode tn = null;
public myTreeView()
{
InitializeComponent();
}
protected override void OnAfterSelect(TreeViewEventArgs e)
{
if (tn != null)
{
tn.BackColor = this.BackColor;
tn.ForeColor = this.ForeColor;
}
tn = e.Node;
base.OnAfterSelect(e);
}
protected override void OnBeforeSelect(TreeViewCancelEventArgs e)
{
e.Node.BackColor = Color.Green;
e.Node.ForeColor = Color.White;
base.OnBeforeSelect(e);
}
protected override void OnGotFocus(System.EventArgs e)
{
base.OnGotFocus(e);
}
protected override void OnLostFocus(System.EventArgs e)
{
if (tn != null)
{
tn.BackColor = Color.Green;
tn.ForeColor = Color.White;
}
// tn.BackColor = Color.Red;
base.OnLostFocus(e);
}
}