c# - 将文本框数据绑定(bind)到 Form.Text(标题)

标签 c# winforms data-binding textbox title

我正在尝试将 Textbox.Text 绑定(bind)到 Form.Text(它设置表单的标题)。 绑定(bind)本身有效。但是,在我移动整个表单之前,标题不会更新。

如何在不移动表单的情况下更新 Form.Text?我希望在文本框中键入内容时直接更新 Form.Text

编辑;我在 ToolStripTextbox 触发的 TextChanged 事件中设置了表单的标题:

public partial class ProjectForm : Form
{
   public ProjectForm()
   {
       // my code contains all sorts of code here, 
       // but nothing that has something to do with the text.
   }
}

private void projectName_TextChanged_1(object sender, EventArgs e)
{
    this.Text = projectName.TextBox.Text;
}

和数据绑定(bind)版本:

public partial class ProjectForm : Form
{
   public ProjectForm()
   {
       this.projectName.TextBox.DataBindings.Add("Text", this, "Text", true, DataSourceUpdateMode.OnValidation);
   }
}

编辑 2:我发现我忘了说点什么。不知道它是否添加了什么,但我的应用程序是一个 MDI 应用程序。标题变化的部分是:

ApplicationName [THIS CHANGES, BUT ONLY AFTER MOVING/RESIZING]

最佳答案

Classic problem, you're not updating the existing form's Text property but a new one that is not visible. Call the Show() method after you change the Text.

Source

您还可以尝试在 TextChanged 事件中使您的表单无效,这样它会强制重新绘制。

编辑 1:StackOverflow question既然你是MDI应用,可能会给你一个答案

编辑 2: 可能是此操作不是线程安全的,因此 UI 线程正在阻塞。因此,您需要调用另一个函数以使其更新。不久前,我在使用 StatusBar 标签时遇到了类似的问题。如果您不知道如何使用委托(delegate),这里有一些示例代码:

public delegate void updateFormTextD(string text);

private void formText(string text)
{
     this.Text = text;
}

private void updateFormText(string text)
{
     Invoke(new updateFormTextD(formText), text);
}

关于c# - 将文本框数据绑定(bind)到 Form.Text(标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1756548/

相关文章:

c# - 使用 GhostDoc 在 Visual Studio 中查看所有 TODO 项

c# - 将 Subsonic.Select() ExecuteTypedList 方法与字符串一起使用

c# - 有没有办法将 Controls.ContextMenu 转换为 Forms.ContextMenu?

wpf - 在用户控件中获取工具提示以显示数据绑定(bind)文本并保持打开状态

ios - 在 Swift 中查看模型绑定(bind)

c# - Timespan(0,0,secs) 或 Timespan.FromSeconds(secs)

c# - 如何检索 IPv6 子网掩码长度

c# - 无法加载文件或程序集 'Microsoft.SqlServer.Types,版本 = 11.0.0.0

c# - 有没有办法在 C# WinForms 中自动调整控件宽度或自动高度?

azure - 从触发 blob 触发器的文件中获取元数据 Azure 函数