Я пытаюсь опубликовать текст из класса в активную форму, и у меня возникли небольшие проблемы, чтобы понять, как это сделать.Я видел множество об использовании Invoking для публикации вещей в потоках / формах, но я не могу заставить свой класс видеть какие-либо открытые функции в activeform.
Пример
// File: Form1.cs
namespace Form1
{
public partial class Form1 : Form
{
public void SetText(string text)
{
this.Invoke((MethodInvoker) delegate { \\ Always requires invoke
TextBox1.Text += text + "\n";
});
}
}
второй класс, который запускается во втором потоке (потому что это длинный процесс)
// File: Class.cs
using Form1;
namespace Form1
{
public void DoSomething() // Called in Form1
{
// Does stuff
string TextToGoBack; // Has text when DoSomething runs
// Here is where I get stuck
Form form = Form1.ActiveForm;
form.SetText(TextToGoBack); // SetText is not showing up here no matter what I do
}
}
РЕДАКТИРОВАТЬ:
Я не был бы против использования пользовательских событий для достижения того же,но мне трудно это выяснить.