如何在 winforms 应用程序中创建一个文本框,以接受来自应用程序中任何位置的新文本行?
我有一个包含文本框的主窗体。我想通过另一个类中的方法直接将文本添加到框中。
Update
我在我的主要形式中尝试过这个:
public void Output(String value)
{
if (txtOutput.Text.Length > 0)
{
txtOutput.AppendText(Environment.NewLine);
}
txtOutput.AppendText(value);
}
但我无法从其他类调用输出。我是 C# 新手,所以也许我遗漏了一些明显的东西。
问候,米尔。
PS 是的,我知道这是糟糕的设计,但目前这似乎是实现我想要的效果的最佳方式。文本框的功能类似于控制台。
你需要暴露Text
的财产TextBox
as a string
您表格上的属性。例如...
public string TextBoxText
{
get { return textBoxName.Text; }
set { textBoxName.Text = value; }
}
Edit
阅读问题编辑后,您的问题是,无论您尝试在何处执行该代码,都需要引用表单的特定实例。您可以传递一个引用(这是更好的选择),也可以使用一些有味道的代码并拥有一个引用表单的一个实例的静态属性。就像是...
public partial class MyForm : Form
{
private static MyForm instance;
public static MyForm Instance
{
get { return instance; }
}
public MyForm() : base()
{
InitializeComponent();
// ....
instance = this;
}
}
使用这种方法,您可以调用MyForm.Instance.Output("test");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)