c#(windows程序)treeview 获得焦点选中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#(windows程序)treeview 获得焦点选中相关的知识,希望对你有一定的参考价值。

c#(windows程序)treeview控件(所有节点保存在数据库中)
现在时三级目录,我想再添加一个三级节点,当我这个三级节点添加成功的时候treeview默认刷新,并且选中我刚才添加的节点

界面说明:右边有一个textbox(输入三级节点的名称)和一个按钮(提交数据到数据库中的);左边就是显示的界面
















参考技术A 添加成功后根据节点名称遍历这个Treeview 找到新添加的节点,设置该节点的IsSelected属性为true就可以了 参考技术B 设置该节点的IsSelected属性为true就可以了本回答被提问者采纳

C#:如何取消选择和散焦文本框?

【中文标题】C#:如何取消选择和散焦文本框?【英文标题】:C#: How to deselect and defocus textbox? 【发布时间】:2012-05-06 14:35:16 【问题描述】:

我正在用 C# WinForms 编写一个简单的基于计算的应用程序。我的问题是我有文本框来显示无法单击/聚焦的结果,因为按钮绑定到键盘。文本框必须有 ContextMenuStrip,但只有这个动作应该在文本框内处理。此外,此应用程序要求是它不能有任何可聚焦的控件。类似于 Windows 的 Calc 结果框。有什么建议吗?

【问题讨论】:

【参考方案1】:

创建自定义文本框:

public class TextBoxWithoutFocus : TextBox

    private const int WM_SETFOCUS = 0x7;

    protected override void WndProc(ref Message m)
    
        if (m.Msg == WM_SETFOCUS)
            return;

        base.WndProc(ref m);
    

就是这样。文本框永远不会获得焦点(实际上它会获得焦点,但不会改变它的外观)。如果您想禁用用户输入,还可以考虑抑制 WM_CHAR 消息 (0x102)。

更新(可以与按钮一起使用的技巧):

public class ButtonWithoutFocus : Button

    public ButtonWithoutFocus()
    
        SetStyle(ControlStyles.Selectable, false);
    

【讨论】:

【参考方案2】:

让它成为一个标签,而不是一个文本框。您可以设置尺寸和背景,使其看起来像一个文本框,并且具有 ContextMenuStrip。

【讨论】:

【参考方案3】:

尝试TextBox.Enabled = False;TextBox1.ReadOnly = True;

【讨论】:

【参考方案4】:

TextBox.Enabled = false 是否满足您的需求?

【讨论】:

不,我必须能够右键单击它显示菜单【参考方案5】:

试试这个

TextBox1.ReadOnly = True;

【讨论】:

焦点将始终在您的表单上进行某种控制,因此请执行 MyButton.Focus();【参考方案6】:

散焦只需这样做:

TextBox.Select(0, 0);

【讨论】:

以上是关于c#(windows程序)treeview 获得焦点选中的主要内容,如果未能解决你的问题,请参考以下文章

C#:如何取消选择和散焦文本框?

C# treeview 获得选中值

C# winform中,如何获得一个treeview中所有选中的checkbox的文本值?

C# 单击treeview的子节点获取提示

C# winform treeview 节点展开状态的图标设置

C# winform treeview 节点展开状态的图标设置