ツリービューでノードを選択すると、ハイライト表示され、下のノードに基づいてデータが表示されます。別のコントロールを選択すると(ツリービューのフォーカスが失われます)、強調表示されなくなります。フォーカスを失った後、どのように強調表示しますか?検索を行っている間、私はテキストボックスに焦点を当てておく必要があるので、どのノードが選択されているのかわからないので(ユーザーがもっとテキストを入力できるように)C#、select()、focusのTreeViewコントロール
8
A
答えて
10
あなたがfalseにHideSelectionプロパティを設定する必要があります - ので、TreeViewコントロールがフォーカス
3
を失ったaltoughあなたは、私はちょうどこの問題に遭遇すると、これは、私はそれに対処する方法で、選択が表示されます:描画モードプロパティを変更TreeViewDrawMode.OwnerDrawText
へとHideSelectionをFalseに設定し、TreeViewコントロールがフォーカスを失われたときのハイライトの色はお好みに合わせて十分に明るくない場合DrawNodeイベント
private void MyTreeGridview_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
if ((e.State == TreeNodeStates.Selected) && (!MyTreeGridview.Focused))
{
Font font = e.Node.NodeFont ?? e.Node.TreeView.Font;
Color fore = e.Node.ForeColor;
if (fore == Color.Empty)fore = e.Node.TreeView.ForeColor;
fore = SystemColors.HighlightText;
Color highlightColor = SystemColors.Highlight;
e.Graphics.FillRectangle(new SolidBrush(highlightColor), e.Bounds);
ControlPaint.DrawFocusRectangle(e.Graphics, e.Bounds, fore, highlightColor);
TextRenderer.DrawText(e.Graphics, e.Node.Text, font, e.Bounds, fore, highlightColor, TextFormatFlags.GlyphOverhangPadding);
}
else
{
e.DrawDefault = true;
}
}
0
に登録:
あなたのTを確認してくださいreeViewのHideSelectionはTrue(デフォルト値)に設定されています。
次に扱うツリービューの入力などのイベントまま:リサイズ、ASP:私はC#で3つのツリービュークラスが実際にあることを追加する必要があります私は3日前まで正確に同じ問題で苦労
void myTreeView_Leave(object sender, EventArgs e)
{
if((sender as TreeView).SelectedNode != null)
(sender as System.Windows.Forms.TreeView).SelectedNode.BackColor = Color.Red; //your highlight color
}
void myTreeView_Enter(object sender, EventArgs e)
{
if((sender as TreeView).SelectedNode != null)
(sender as TreeView).SelectedNode.BackColor = (sender as TreeView).BackColor;
}
関連する問題
- 1. devExtreme TreeView Expand、ScrollTo、Focus
- 2. Javascript focus()とselect()quirk
- 3. WPFのTreeViewコントロール
- 4. TreeViewコントロールASP.net
- 5. Syncfusion TreeViewコントロールCSSの問題
- 6. Scroll TreeViewコントロールをトップに
- 7. c#SplitContainerのTreeViewコントロールを使用してコンテンツを変更する
- 8. Win32 TreeViewコントロールの幅を取得する
- 9. SELECTスクロールのJavascriptコントロール
- 10. C#WinForms TreeView&ImageList
- 11. c#treeview datagridiew interaction
- 12. c#treeview path
- 13. TreeViewコントロールでASP.NET SiteMapノードを非表示
- 14. focus()と等しいもの、jqueryの角4のselect()
- 15. C#のTreeViewノードのハイライトカラー
- 16. バインドC#WindowsフォームのTreeViewデータベース
- 17. Dojo ValidationTextBoxes blur focus ... on focus
- 18. EntityDataSourceコントロールとSELECT TOP(N)
- 19. リストをC#に追加TreeView
- 20. WPF C#Treeview Delete&Focuse Node
- 21. TreeViewコントロールのすべてのツリーノードのリストを取得します。
- 22. LINQ: 'Select c'と 'Select new(c ...')の違い
- 23. コントロールペイントスパムの回避(treeview、listviewコントロールの更新中)
- 24. なぜTreeViewコントロールは空のノードを作成しますか?
- 25. データの角括弧を処理できないASP.NET Treeviewコントロール
- 26. トライステートのTreeViewコントロールでチェックボックスを非表示にする
- 27. angle ng-focus/focus入力要素
- 28. VSTO:Application Focus
- 29. UITextField focus
- 30. C#でTreeViewのシステムアイコンを使用
... – bernhardrusch
を.NETとWPF。 WinFormsコントロールのみがHideSelectionプロパティを持ちます。 – wigy
これは、なぜVisual Studioデザイナーが 'HideSelection'プロパティのデフォルト値として' true'を割り当てるのか不思議に思います。私は、大部分のユースケースでは、現在選択されているノードを非表示にするのではなく、***が望ましいと思います。 – DavidRR