2015-04-16 4 views
-5

У меня есть две формы с именем Form1 и Form2:Передача значений из одной формы в другую форму

Form1 список некоторых значений, которые вставляются в таблицу в SQL Form2 является проверка значений, которые вставляются на столе.

Когда я нажимаю кнопку Form1, это отображает Form2 и вставляет значения в таблицу, а также любые входы в текстовом поле в форме 1 должны быть записаны обратно в Form2 TextBoxes.

У меня есть код ниже, но он не работает.

////Form1 Code 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace WindowsFormsApplication1 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     Form2 F2= new Form2(); 
     F2.Show(); 
     this.Hide(); 
     SqlConnection con = new SqlConnection("Data Source=MXPEDAMAP401;Initial Catalog=VentaCajas;User ID=sa;Password=1TservicesMX"); 
     con.Open(); 
     SqlCommand sc = new SqlCommand("insert into DatosGenerales values('" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','"+ textBox1.Text + "','" + listBox1.Text + "','" + textBox5.Text + "','" + listBox2.Text + "', getdate());",con); 
     int o=sc.ExecuteNonQuery(); 
     MessageBox.Show("Verifica que los datos esten correctos"); 
     con.Close(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     // TODO: esta línea de código carga datos en la tabla 'ventaCajasDataSet1.LugarEntrega' Puede moverla o quitarla según sea necesario. 
     this.lugarEntregaTableAdapter.Fill(this.ventaCajasDataSet1.LugarEntrega); 
     // TODO: esta línea de código carga datos en la tabla 'ventaCajasDataSet.TipoContrato' Puede moverla o quitarla según sea necesario. 
     this.tipoContratoTableAdapter.Fill(this.ventaCajasDataSet.TipoContrato); 

    } 
} 
} 



////Form2 Code 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace WindowsFormsApplication1 
{ 
public partial class Form2 : Form 
{ 
    public Form2() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection("Data Source=MXPEDAMAP401;Initial Catalog=VentaCajas;User ID=sa;Password=1TservicesMX"); 
     con.Open(); 
     SqlCommand sc = new SqlCommand("delete DatosGenerales where No_Empleado+Tipo_Contrato = '';('" + textBox4.Text + "," + textBox5.Text + "');", con); 
     int o = sc.ExecuteNonQuery(); 
     Form1 F1 = new Form1(); 
     F1.Show(); 
     this.Close(); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("¡Gracias!"); 
     this.Close(); 
    } 
} 
} 

Некоторые скриншоты:

enter image description hereenter image description here

Как я могу понять, что?

+1

возможно дубликат [Передача значения из одной формы в другую форму] (http://stackoverflow.com/questions/7886544/passing-a-value-from -one-form-to-another-form) – Dmitry

+0

Звучит так же, но в разных значениях, которые нужно переместить с одной на другую, разные. –

+2

«Количество значений» не ставит вопрос по-другому. Вам нужно объяснить более подробно, почему этот вопрос не рассматривается этим, а также [буквально сотни, если не тысячи других подобных вопросов] (http://stackoverflow.com/search?page=1&tab=newest&q=%5bc% 23% 5d% 20pass% 20value% 20form% 20to% 20form) уже на переполнение стека. Перенос данных с одного объекта на другой является базовой концепцией C# и уже много раз был рассмотрен ранее. –

ответ

1

Вы можете просто передать значения через конструктор, как всегда, с любыми классами на C#.

В противном случае, для обратного пути, в Form2 есть свойство экземпляра. Установите это свойство внутри кода Form2. Прежде чем уничтожить форму, прочитайте ее от Form1.

public partial class Form2 : Form 
{ 
    public int MyValue { get; set; } 

    public Form2() 
    { 

     // somwhere in this code: 
     MyValue = 3; 

И потом:

Form2 F2= new Form2(); 
F2.Show(); 
// ... 

int myValue = F2.MyValue; // form 1 can just read the value of form 2 (which is "3") 
Смежные вопросы