Вам нужно передать экземпляр Form1 прямо с того момента, как он был создан, и где он потребляется.Например,
Считайте, что вы вызываете SomeClass.SomeMethod из вашей Form1 (в случае, если у вас есть какой-то другой промежуточный класс, продолжайте передавать экземпляр формы, как описано здесь).
Сначала вам нужноПерепишите ваш SomeClass и RichTextAppend Class следующим образом.
class RichTextBoxAppend
{
public static void AddNewText(string message, Form1 f)
{
f.RichText.AppendText(DateTime.Now.ToString() + ": " + message + "\r\n");
}
}
public class SomeClass
{
public void SomeMethod(Form1 form)
{
//Some stuff happens here
RichTextBoxAppend.AddNewText("Some message", form);
}
}
И затем, из места, из которого вы вызываете SomeClass.SomeMethod (в этом случае, предположим, что это происходит в событии Button Click), вам нужнопередать экземпляр формы вашему SomeMethod.
public partial class Form1 : Form
{
public RichTextBox RichText => richLogWindow;
private void button1_Click_1(object sender, EventArgs e)
{
var someclass = new SomeClass();
someclass.SomeMethod(this);
}
}
В следующей строке вы передаете экземпляр Form1 в SomeMethod (поскольку вы ссылаетесь на «this» в Form1, он ссылается на экземпляр Form1)
someclass.SomeMethod(this);
Передав экземпляр формы прямо из вашей формы классам, которые в ней нуждаются, вы можете получить доступ к экземпляру.