C sharp - Pasar Datos de un formulario a otro

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 9 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar Datos de un formulario a otro

Publicado por Warlyn (3 intervenciones) el 12/04/2019 17:51:05
Saludos.

Tengo que hacer un proyecto exactamente un sistema de prestamo y tengo que pasar informacion de un formulario a otro, pero solo se como pasar un dato de un texbox y me da un error que dice

Error 1 'Trabajo_Final_Sitema_de_prestamo.frm_num2' no contiene un constructor que tome 1 argumentos

Mi formulario num 1 es :
diseno-form-1
https://imgur.com/RAMW9UG
https://imgur.com/3ziQJSR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
namespace Trabajo_Final_Sitema_de_prestamo
{
    public partial class frm_num1 : Form
    {
        public frm_num1()
        {
            InitializeComponent();
        }
 
        private void frm_num1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void btngrabar_Click(object sender, EventArgs e)
        {
            //Declaracion de variables
            string nombre, apellido, direc, sector, provincia, email,telefono,celular,id;
 
            //Entrada de datos
            nombre = txtnombre.Text;
            apellido = txtapellido.Text;
            direc = Convert.ToString(txtdireccion.Text);
            sector = txtsector.Text;
            provincia = txtprovincia.Text;
            telefono = txttelefono.Text;
            celular = txtcelular.Text;
            email = txtemail.Text;
            id = txtid.Text;
 
            frm_num2 form = new frm_num2(nombre);
            frm_num2 f = new frm_num2(id);
            form.Show();
 
 
 
        }
    }
}


y este es el formulario dos donde quiero recibir informacion:
https://imgur.com/iyHonh3
https://imgur.com/BmscsCr
https://imgur.com/n7IBKuF

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
namespace Trabajo_Final_Sitema_de_nomina
{
    public partial class frm_num2 : Form
    {
        private string nombre,id;
        public frm_num2()
        {
            InitializeComponent();
        }
        public frm_num2(string nombre,string id) : this()
        {
        this.nombre = nombre;
        this.id = id;
        }
 
        private void textBox7_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void frm_num2_Load(object sender, EventArgs e)
        {
            txtnombrerecibe.Text = Convert.ToString(nombre);
            txtidrecibe.Text = Convert.ToString(id);
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 218
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar Datos de un formulario a otro

Publicado por Cesar (82 intervenciones) el 12/04/2019 18:09:01
Hola.

No pases valores en los contructores.

Declara tus variables de Nombre e Id del Formulario 2, como propiedades publicas, y asignalas cuando creas la instancia del Formulario 2 en Formulario 1.

Algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
namespace Trabajo_Final_Sitema_de_prestamo
{
 public partial class frm_num1: Form
 {
  public frm_num1()
  {
   InitializeComponent();
  }
 
  private void frm_num1_Load(object sender, EventArgs e)
  {
 
  }
 
  private void btngrabar_Click(object sender, EventArgs e)
  {
   //Declaracion de variables
   string nombre, apellido, direc, sector, provincia, email, telefono, celular, id;
 
   //Entrada de datos
   nombre = txtnombre.Text;
   apellido = txtapellido.Text;
   direc = Convert.ToString(txtdireccion.Text);
   sector = txtsector.Text;
   provincia = txtprovincia.Text;
   telefono = txttelefono.Text;
   celular = txtcelular.Text;
   email = txtemail.Text;
   id = txtid.Text;
 
   frm_num2 form = new frm_num2
   {
      Nombre=nombre,
      Id=id
   }
   form.Show();
  }
 }
}
 
y este es el formulario dos donde quiero recibir informacion:
 
 namespace Trabajo_Final_Sitema_de_nomina
{
  public partial class frm_num2: Form
  {
   public string Nombre {set; get;}
   public string Id {set; get;}
   public frm_num2()
   {
    InitializeComponent();
   }
 
   private void textBox7_TextChanged(object sender, EventArgs e)
   {
 
   }
 
   private void frm_num2_Load(object sender, EventArgs e)
   {
    txtnombrerecibe.Text = Nombre;
    txtidrecibe.Text = Id;
   }
  }
 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 9 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar Datos de un formulario a otro

Publicado por Warlyn (3 intervenciones) el 12/04/2019 19:07:48
Muchísimas gracias ahora me funciono perfecto, apenas ando empezando en la programación y tantos códigos,métodos... ni idea de como podía resolver eso.

public string Nombre {set; get;}
public string Id {set; get;}

cuando utilizas set y get que funcion tienen?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 9 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar Datos de un formulario a otro

Publicado por Warlyn (3 intervenciones) el 14/04/2019 10:10:38
Hola, ahora tengo otra cuestión y es que todo me estaba funcionando bien hasta que llegue al ultimo paso en donde quiero pasar un dato del formulario 2 al 4, sucede que voy poniendo datos diferentes en cada botón grabar, en el formulario 2 hago el calculo del préstamo,me explico pongo la cantidad préstamo la taza de interés y el tiempo, en el mismo formulario se genera la cuota a pagar mensual y el monto final, este monto final lo paso al formulario 3 y todo normal ahora en el formulario 4, tendría que mostrar algo así como un recibo y traer la cuota del formulario 2 al 4, pero al darle al botón grabar me aparece en 0.

espero que entiendan lo que quise decir, si tengo que subir imágenes me avisan, gracias de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
Formulario 1 :
 
namespace Trabajo_Final_Sitema_de_nomina
{
    public partial class frm_num1 : Form
    {
        public frm_num1()
        {
            InitializeComponent();
        }
 
        private void frm_num1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void btngrabar_Click(object sender, EventArgs e)
        {
            //Declaracion de variables
            string nombre, apellido, direc, sector, provincia, email,telefono,celular,id;
 
            //Entrada de datos
            nombre = txtnombre.Text;
            apellido = txtapellido.Text;
            direc = Convert.ToString(txtdireccion.Text);
            sector = txtsector.Text;
            provincia = txtprovincia.Text;
            telefono = txttelefono.Text;
            celular = txtcelular.Text;
            email = txtemail.Text;
            id = txtid.Text;
 
            frm_num2 form = new frm_num2(nombre,id,apellido);
 
            form.Show();
 
 
 
        }
    }
}
 
Formulario 2:
 
namespace Trabajo_Final_Sitema_de_nomina
{
    public partial class frm_num2 : Form
    {
        private string nombre,id,apellido;
        public frm_num2()
        {
            InitializeComponent();
        }
        public frm_num2(string nombre,string id,string apellido) : this()
        {
        this.nombre = nombre;
        this.id = id;
        this.apellido = apellido;
        }
 
        private void textBox7_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void frm_num2_Load(object sender, EventArgs e)
        {
            txtnombrerecibe2.Text = nombre;
            txtidrecibe.Text = id;
            txtapellidorecibe2.Text = apellido;
 
 
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            //Declaracion de variables
            double prestamo, tzinteres, periodoprestamo, cuota, montotalprest, montointeresmensual, montototalinteres;
            string fecha,numprestamo;
 
            //Entrada de datos
            nombre = txtnombrerecibe2.Text;
            apellido = txtapellidorecibe2.Text;
            prestamo = Convert.ToDouble(txtprestamo.Text);
            tzinteres = Convert.ToDouble(txttazainteres.Text) / 100;
            periodoprestamo = Convert.ToDouble(txtperiodoprestamo.Text);
            fecha = txtfecha.Text;
            numprestamo = txtnumprestamo.Text;
 
 
            //calculos
            montointeresmensual = prestamo * tzinteres;
            montototalinteres = montointeresmensual * periodoprestamo;
            montotalprest = prestamo + montototalinteres;
            cuota = montotalprest / periodoprestamo;
 
            //Salida De informacion
            txtcuota.Text = Convert.ToString(cuota);
            txtmontototal.Text = Convert.ToString(montotalprest);
            txtfecha.Text = Convert.ToString(fecha);
 
 
 
            frm_num3 form = new frm_num3(nombre, apellido, fecha, numprestamo, montotalprest);
            form.Show();
            frm_num4 firm = new frm_num4(cuota); ---> aqui puse que mande al form 4
 
        }
    }
}
 
 
Formulario 3
 
namespace Trabajo_Final_Sitema_de_nomina
{
    public partial class frm_num3 : Form
    {
        private string nombre, apellido, fecha, numprestamo;
        private double montotalprest;
        public frm_num3()
        {
            InitializeComponent();
        }
        public frm_num3(string nombre, string apellido, string fecha, string numprestamo, double montotalprest): this()
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.fecha = fecha;
            this.numprestamo = numprestamo;
            this.montotalprest = Convert.ToDouble(montotalprest);
        }
 
 
        private void frm_num3_Load(object sender, EventArgs e)
        {
            txtnombrerecibe3.Text = nombre;
            txtapellidorecibe3.Text = apellido;
            txtfecharecibe1.Text = fecha;
            txtnumprestamoreci1.Text = numprestamo;
            txtmontorecib1.Text = Convert.ToString(montotalprest);
        }
 
        private void txtgrabar_Click(object sender, EventArgs e)
        {
            //Declaracion variables
            string numrecibo;
            //Entrada de datos
            numrecibo = txtnumrecibo.Text;
            frm_num4 form4 = new frm_num4(nombre, apellido, fecha, numprestamo,numrecibo);
            form4.Show();
 
        }
    }
}
Formulario 4
 
namespace Trabajo_Final_Sitema_de_nomina
{
    public partial class frm_num4 : Form
    {
        private string nombre, apellido, fecha, numprestamo, numrecibo;
        private double cuota;
        public frm_num4()
        {
            InitializeComponent();
        }
        public frm_num4(string nombre, string apellido, string fecha, string numprestamo,string numrecibo) : this()
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.fecha = fecha;
            this.numprestamo = numprestamo;
            this.numrecibo = numrecibo;
        }
        public frm_num4(double cuota) : this()
            {
        this.cuota = cuota;
             }
        private void frm_num4_Load(object sender, EventArgs e)
        {
            txtnombrerecibe4.Text = nombre;
            txtapellidorecibe4.Text = apellido;
            txtfecharecibe2.Text = fecha;
            txtnumprestamorecib4.Text = numprestamo;
            txtnumrecib.Text = numrecibo;
            txtcuotarecibe.Text = Convert.ToString(cuota);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar