Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как добраться до элементов формы из другой формы?


Автор: Bibigon 18.9.2003, 18:36
Не могу добраться до элементов формы из другой формы , хотя все они public.
Помогите плиз.

Автор: neutrino 18.9.2003, 20:46
Во-первых, какой язык?
Во-вторых, приведи код.

Автор: Unregistered 18.9.2003, 22:12
Язык С#. Не могу добраться до элементов другой формы.


файл GeneralForm.cs:

namespace WindowsApplication
{
...
private void btShow_Click(object sender, System.EventArgs e)
{
Form Users = new Users();

string str = Users.FirstName.Text; // не могу прочесть
}
}



файл UsersForm.cs:



namespace WindowsApplication
{
public class Users : System.Windows.Forms.Form
{
public System.Windows.Forms.TextBox FirstName;
public System.Windows.Forms.TextBox Comment;

......

Автор: neutrino 20.9.2003, 14:01
Вот посмотри:
1) объявляешь экземпляр класса Form2 в интерфейсе класса Form1
2) обьявляешь все контролы, которые тебе нужно использовать из других форм :public
3) вызываешь конструктор для этого экземпляра

Form1.cs:
Цитата

namespace WindowsApplication1
{
public class Form1 : System.Windows.Forms.Form
{
  private System.Windows.Forms.Button button1;
  private System.Windows.Forms.Button button2;
  private Form2 TestForm;

  ...
  ...
  ...

  [STAThread]
  static void Main()
  {
  Application.Run(new Form1());
  }

  private void button1_Click(object sender, System.EventArgs e)
  {
  TestForm.textBox1.Text="Test";
  }

  private void button2_Click(object sender, System.EventArgs e)
  {
  TestForm = new Form2();
  TestForm.Show();
  }
}
}


Form2.cs:
Цитата

namespace WindowsApplication1
{
public class Form2 : System.Windows.Forms.Form
{
  ...
  ...
  ...

  public System.Windows.Forms.TextBox textBox1;
}
}

Автор: altarasjuk 22.10.2003, 21:01
Цитата
public System.Windows.Forms.TextBox textBox1;

Так лучше не делать (как же инкапсуляция). Нужно просто сделать методы для получения нужных данных.

Автор: neutrino 23.10.2003, 09:01
Я с тобой абсолютно согласен. Просто привел в обшем как сделать, чтобы заработало. Правда я сам никогда эти методы не ставлю smile.gif. Хоть это и плохой тон в программировании.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)