как передать 2 объекта из формы 1 в форму 2 - PullRequest
0 голосов
/ 18 октября 2011

как передать 2 объекта из form1 в form2 в winforms используя C #

Я знаю, чтобы передать один объект, как это:

Form G = new frm2(sc);
G.ShowDialog();

спасибо заранее

Ответы [ 4 ]

3 голосов
/ 18 октября 2011

Создайте конструктор с 2 аргументами, как показано ниже:

public partial class frm2 :Form
    {
         public frm2(List<int> object1, List<string> object2)
        {
        }

         .....
         ......
    }

И звоните как:

Form G = new frm2(object1, object2); 
G.ShowDialog(); 

Второй вариант:

Вы можете создавать свойства в формах и передавать их, как показано ниже:

Form G = new frm2(); 
G.Object1 = object1;
G.Object2 = object2;
G.ShowDialog(); 

Ваш frm2 будет таким:

public partial class frm2 : Form
{
     public frm2()
    {
    }

     public List<int> Object1 { get; set; }
     public List<string> Object2 { get; set; }
     .....
     ......
}
1 голос
/ 18 октября 2011

просто измените конструктор frm2 так, чтобы он принимал 2 параметра:

public void frm2(object obj1, object obj2)
{
    //to do...
}
1 голос
/ 18 октября 2011

Почему бы вам не сделать конструктор, принимающий два аргумента?

Form G = new frm2(obj1, obj2);
G.ShowDialog();

С frm2:

public partial class frm2 : Form {

    private Object1 _obj1;
    private Object2 _obj2;

    void frm2(Object1 obj1, Object2 obj2) {
        this._obj1 = obj1;
        this._obj2 = obj2;
    }
}
0 голосов
/ 18 октября 2011

Второй метод - написать собственный конструктор, который принимает эти два объекта.Если это обязательно для формы, то скрыть конструктор по умолчанию и с этой силой передать два объекта.

...