【问题标题】:When clicking on textbox to edit, cursor appear at left side of text单击文本框进行编辑时,光标出现在文本左侧
【发布时间】:2013-06-21 19:49:08
【问题描述】:


我在 Windows 窗体中遇到了一个罕见的 TextBoxes 问题。 我正在使用 Visual Studio 2012EntityFramework 5.0 开发应用程序,我有几个窗口旨在使用 BindingNavigators 和 List 作为数据源进行 CRUD 操作。

当窗口加载时,数据源与 BindingNavigator 相关联,并显示第一项,例如,对于实体 People,它将在 TextBoxes 中显示从数据库中检索到的第一条记录:

[标签]Id [文本框]1234
[标签]姓名 [文本框]佩佩
[标签]姓[文本框]...
...

问题是,当我想编辑名称(或其他字段)时,我单击文本框,光标出现在左侧而不是右侧(文本末尾),如果我想用鼠标放置光标不会动。

我在这里找到的解决方案是以编程方式设置 selectedtextselectedlength 属性以便将光标置于正确位置,但我不想以编程方式执行此操作,我想要它自己完成......像往常一样,一如既往!

[编辑] 这是一些代码。

    itemsBindingSource is a BindingSource to a BindingNavigator

    private void Items_Load(object sender, EventArgs e)
    {
        ....

        var result = (from i in Entidades.GetInstance.Items select i);
        this.itemsBindingSource.DataSource = result.ToList();

        ....


    }

非常感谢您的阅读!

【问题讨论】:

  • 您必须发布有关获取和绑定数据方式的更多详细信息。标准 Linq 查询是只读的。
  • 如果使用 Tab 而不是点击呢?
  • @KingKing 如果使用选项卡选择了所有文本,正如我所想的那样
  • @HenkHolterman 我更新了我的问题,展示了我如何获取和绑定数据。
  • 所以只有在使用绑定文本框时才会发生这种情况?你能在一个新项目中重现它吗?

标签: c# winforms textbox


【解决方案1】:

uff.. 我发现错误是什么。首先,我要感谢大家为我的问题寻找解决方案所做的努力。

我使用了一个名为 XPExplorerBar 的第三方控件作为 mdiContainer。在@CodyGray 建议我在一个新项目中进行repro 之后,我做到了并且它起作用了(但是因为我只编写了一个没有mdiParent 的widnow),然后我添加了一个windows 窗体作为mdiContainer 并且它起作用了!

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多