2015-08-23 3 views
0

Я работаю с моим приложением windows C# в этой заявке, названной «пациенты» и другими, называемыми «patientDuplicatedName», которые содержат datagridview и загружают все дублированные имена пациентов (это и работает отлично,) , но я хочу, когда slsected Row получить все значения в форме «пациентов» во время выполнения (уже открыт) без создания новой формы «пациенты» .. Ниже приведен код, я имею в виду:как передать значение datagridview в другую форму

public partial class frmPatientsNameDuplicated : Form 
{ 
    PatientFiles frmPatientsFiles =new PatientFiles() ; 
    public frmPatientsNameDuplicated() 
    { 
     InitializeComponent(); 
    } 


    private void btnCancel_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
    } 

    private void btnOk_Click(object sender, EventArgs e) 
    { 

     frmPatientsFiles.txtFileNum.Text = this.dgvPatientsName.CurrentRow.Cells[0].Value.ToString(); 
     frmPatientsFiles.txtArbName.Text = this.dgvPatientsName.CurrentRow.Cells[1].Value.ToString(); 
     frmPatientsFiles.txtEngName.Text = this.dgvPatientsName.CurrentRow.Cells[2].Value.ToString(); 
     //frmPatientsFiles.show();//this line is creating new form and run 
     this.Close(); 

    } 
} 

жаль о моем плохом английском & заблаговременно

+0

Что вы на самом деле нужно? У вас есть две формы form1 и form2. В form2 вы загружаете все дублированные имена пациентов.! Когда строка выбирается из формы2, все детали этой строки должны быть переданы в форму1 вправо. – Arshad

ответ

0

я нашел тот же вопрос здесь: Pass data to a existing form мой код стал

public partial class frmPatientsNameDuplicated : Form 
{ 
PatientFiles frmPatientsFiles = Application.OpenForms["PatientFiles"] as PatientFiles; 
public frmPatientsNameDuplicated() 
{ 
    InitializeComponent(); 
} 
private void btnCancel_Click(object sender, EventArgs e) 
{ 
    this.Close(); 
} 

private void btnOk_Click(object sender, EventArgs e) 
{ 
    frmPatientsFiles.txtFileNum.Text = this.dgvPatientsName.CurrentRow.Cells[0].Value.ToString(); 
    frmPatientsFiles.txtArbName.Text = this.dgvPatientsName.CurrentRow.Cells[1].Value.ToString(); 
    frmPatientsFiles.txtEngName.Text = this.dgvPatientsName.CurrentRow.Cells[2].Value.ToString(); 
    this.Close(); 
} 
} 
0

T он прокомментировал строку frmPatientsFiles.show() имеет комментарий, который гласит, что линия создает новую форму. Это не. Он просто отображает форму, которая была ранее создана в строке PatientFiles frmPatientsFiles = new PatientFiles();. Кажется, создается новая форма, которую вы не хотите. Если у вас уже есть существующая форма, которую вы хотите обновить, обратитесь к этой форме из вашего обработчика событий btnOk_Click. Для этого вы, вероятно, захотите передать ссылку на существующую форму вашему классу либо через конструктор, либо с помощью другого метода/свойства. Надеюсь, я правильно понял ваш вопрос.

Смежные вопросы