Ağaç görünümünde bir düğüm seçtiğimde vurgulanır ve aşağıdaki düğümlere göre verileri gösterir. Başka bir kontrol seçtiğimde (ağaç görünümü odağı kaybeder) artık vurgulanmaz. Odağı kaybettikten sonra vurgulananları nasıl koruyabilirim? Bir arama yaparken hangi düğümün seçildiğini söyleyemiyorum çünkü odağı metin kutusunda tutmalıyım (böylece kullanıcı daha fazla metin yazabilir).C# ağacında TreeView kontrolü,() ve netlemeyi seçin
8
A
cevap
10
false HideSelection özelliğini ayarlamak zorunda - TreeView denetimi kayıp odak taşıyamazsınız içeriği göreceksiniz böylece
3
Sadece bu sorunu çalıştırmak ve bunu nasıl hitap ettiği şudur: DrawMode özelliği Değişti TreeViewDrawMode.OwnerDrawText
ve DrawNode olayı
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
kayıtlı HideSelection Yanlış ve TreeView kayıp odak ayarlandığında vurgu rengi beğeninize yeterince parlak değilse:
T emin olun reeView'ın HideSelection öğesi True (varsayılan değer) olarak ayarlanmıştır.
Sonra işlemek TreeView en girin ve benzeri olayları bırak: WinForms ASP: C# 3 TreeView sınıfları aslında olduğunu eklemelisiniz 3 gün önce aynı sorunla mücadele
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;
}
İlgili konular
- 1. Z3_ast ağacında geçiş C/C++
- 2. C# Zaman çizelgesi kontrolü
- 3. C# Montaj Enjeksiyon Kontrolü
- 4. C# içinde bir XML ağacında yürüyüş #
- 5. TreeView, HierarchicalDataTemplate ve özyinel Veriler
- 6. krom ücretsiz C# wpf kontrolü
- 7. C# WinForms TreeView kaldır Horizontal Scrollbar
- 8. Bir TreeView düğümleri nasıl doldurulur? (C# winforms)
- 9. C# Windows Form TreeView LabelEdit'ten Sonra Sırala
- 10. TreeView düğümü C'deki renk vurgulayın C#
- 11. WPF TreeView içindeki düğümler arasındaki çizgiler TreeView
- 12. WPF TreeView
- 13. İfadeleri İfade Ağacında Birleştirme
- 14. görüntelemek treeView
- 15. seçin ve sonra tekrar ayrı değerler seçin
- 16. C# içinde özel bir TabPage kontrolü oluşturma #
- 17. Gtk # ve treeview: "seçili" öğe nasıl alınır?
- 18. TreeView içindeki sürükle ve bırak düğümleri
- 19. Silverlight Toolkit TreeView Sürükle ve Bırak
- 20. jQuery Sürüklenebilir() ve klavye kontrolü
- 21. Haskell yığın ve sürüm kontrolü
- 22. İkili Arama Ağacında verileri güncelleştirme
- 23. Saydamlık kontrolü
- 24. UIPickerView seçin ve gizleyin
- 25. C# WinForms bir sürgü kontrolü var mı?
- 26. C++'da taşma/taşma kontrolü var mı?
- 27. SelectedItem öğesini TreeView sitesinden kaldırma
- 28. TreeView etiket düzenleme sorusu
- 29. JavaFx TreeView öğesi POJO
- 30. Sanal Treeview nasıl kurulur?
... – bernhardrusch
.NET ve WPF. Sadece WinForms denetimi HideSelection özelliğine sahiptir. – wigy
Bu, Visual Studio tasarımcısının neden "HideSelection" özelliğinin varsayılan değeri olarak "true" atadığını merak ediyor. Kullanım örneklerinin çoğunda *** mevcut durumda seçilmiş olan düğümü gizlemenin *** tercih edileceğini düşünürdüm. – DavidRR