- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个名为“Form1.cs”的表单,它调用一个我们将称为“Class1.cs”的类,还有另一个名为“Form2.cs”的表单。 Class1 中的子例程需要更新 Form2 中的文本框(如果该窗体已打开)。文本需要在附加到文本框中的当前文本后显示,以便实时更新。我不知道如何进行这项工作。我已经尝试了很多东西,他们没有给我错误,但他们也没有将文本写入文本框。
此处的每个请求是我当前的代码。请记住,这是在将其实现到真实项目之前弄清楚这一点的测试项目。
Form1.cs 中的代码
namespace Test
{
public partial class Form1 : Form
{
Form2 cs_form2 = new Form2();
Class1 cs_class1 = new Class1();
public Form1()
{
InitializeComponent();
}
public void button1_Click(object sender, EventArgs e)
{
cs_class1.Writelog();
}
private void Form1_Load(object sender, EventArgs e)
{
cs_form2.Show();
}
public void writeToTextbox()
{
i = 0;
while(i<=10)
{
cs_form2.testTextBox.AppendText("still works");
i++;
}
}
}
}
Form2.cs 中的代码
namespace Test
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void clear_Click(object sender, EventArgs e)
{
testTextBox.Text = "";
}
public void AppendText()
{
testTextBox.AppendText("asklvhslieh");
}
}
}
Class1 中的代码
namespace Test
{
class Class1
{
Form2 cs_form2 = new Form2();
public void Writelog()
{
cs_form2.testTextBox.AppendText("asg");
}
}
}
最佳答案
编辑:通过编写 new Form2()
,您在 Class1
中的代码正在创建一个新的 Form2
实例>.
此实例与在 Form1
中创建的其他实例没有任何关系(也是通过编写 new Form2()
)实际上是可见的。
您需要为 Class1
提供 Form2
的现有实例,可能使用静态属性(如下所述)。
要将文本附加到文本框,您应该调用 AppendText
方法。
要在 Form2
之外执行此操作,您应该在 Form2
上创建一个调用 AppendText
的 public
方法。
例如:
partial class Form2 : Form {
...
public void AppendMyText(string text) {
myTextbox.AppendText(text);
}
...
}
要在 Class1
中调用此方法,您需要引用 Form2
对象。
如果您一次只有一个 Form2
,您可以创建一个静态属性,如下所示:
partial class Form2 : Form {
static Form2 instance;
public static Form2 Instance { get { return instance; } }
protected override void OnShown(EventArgs e) {
base.OnShown(e);
instance = this;
}
protected override void OnClosed(EventArgs e) {
base.OnClosed(e);
instance = null;
}
在 Class1
(或其他任何地方)中,您可以编写
if (Form2.Instance != null)
Form2.Instance.AppendMyText(someString);
请注意,您需要在 UI 线程上执行此操作;如果您在后台线程上运行,则可以调用 BeginInvoke
。
关于C#:如何将文本附加到类中表单上的文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140493/
我有一张用户表 users +------+ - user_id ... ... - updated_by 据我所知,updated_by 列应该在 user_id 列上引用此表。我不确定,这
我是 SQL 新手,我有 2 个包含这些列的表: table structures__|id|name|nation_id|image| table nations______|id|nation|
我正在使用 codeigniters sql 选择来选择不在一组 id 中的用户。 $this->db->select('fbuid')->where_in('fbuid', $friends); $
找不到具体的答案所以我想问一下。简而言之,我有一个表,它根据存储在我的数据库中的数据从 API 检索信息,我想要做的就是从该表中获取某些列的总数,而不是全部列,以便我可以在其他地方使用它们网站。例如,
这是 phpMyAdmin 为我生成的 SQL 语句: SELECT * FROM `table_name` WHERE 1 可以看到 table_name 被 ` 字符包围。 为什么? 最佳答案 用
我有两个这样的表 我想在这里从 Table1 插入到 Table2。这就是我想要的。 取 MOU = 10。它在同一行中有 num1 和 hour1。我想将它插入到与 num1 同一行与 hour1
我的任务是使用 C++ 编写一个程序,以使用 Gamma 分布计算概率。如果我已经找到函数值,如何将其更改为 Gamma 分布表中的值?我不知道公式。 例如Fg(8;8),在表中为0.5470。而表中
我在查看 HTML 电子邮件时遇到问题,需要格式化 css 以与 HTML 脚本内联。 我有多个表使用的以下 td css。 td.gridtopleft { border-left: solid
我正在使用来自 pip 的最新 sqlalchemy 和最新的 pymssql 连接 mssql 服务器 8.00.2039(2005 年?)困难在于表和列名称是俄语。是否可以用 sqlalchemy
我有一个有趣的问题 - 我需要 JOIN 语句的完全相反。 我有一个名为 invoices 的表和另一个名为 payments 的表。我想按顺序检索没有任何付款的发票,但之后是有付款的行。 发票表有这
我有两个表: 主题:[id, ...] 类别:[主题.id, ...] 我想从表 #1 中选择所有主题,但不包含 #2(类别)中的条目。 任何提示表示赞赏(: 最好的问候 最佳答案 Sachin 已经
MYSQL: 我正在使用表 information_schema.tables 中的 AUTO_INCRMENT 列来获取下一个 id。 如下: SELECT AUTO_INCREMENT FROM
我是一名优秀的程序员,十分优秀!