Автор: Unknown 28.08.2008 0:08
Имеются два класса: один из них - стандартная форма с текстбоксом на ней. Вопрос: как из второго класса поменять текст текстбокса?
Код
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Customer c = new Customer();
c.qwerty();
}
public void prnt(string s1)
{
textBox1.Text = s1;
}
public static string s;
}
public class Customer
{
public void qwerty()
{
Form1.s = "asdf";
Form1.prnt(Form1.s);
}
}
Как я понял, получить доступ к текстбоксу можно только из самого класса Form1, так? тогда необходимо написать public метод, позволяющий менять текстбокс. Но чтобы из другого класса обратиться к этому методу, нужно, чтобы метод был либо статичным, либо обращаться не к классу, а к экземпляру класса. Но статичный метод не захочет работать с нестатичным текстбоксом, а создавать экземпляр класса Form1 смысла нет. Как быть?
Автор: Unknown 28.08.2008 18:14
Разобрался вроде...
Если кому интересно, надо было лишь передать текстбокс в качестве параметра методу второго класса:
Код
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Customer c = new Customer();
c.qwerty(textBox1);
}
}
public class Customer
{
public void qwerty(TextBox tb)
{
tb.Text = "123";
}
}