2017-01-31 11 views
0

のTextBoxに取り込みますので、datagridviewの行をクリックしてdatagridviewのデータをtextboxにロードしようとしています。DataGridViewのデータをC#

私は、現時点ではこれを持っている:

private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) 
    { 
     try 
     { 
      DataGridViewRow dr = dataGridView1.SelectedRows[0]; 
      this.Hide(); 
      frmPrincipal frm = new frmPrincipal(); 

      frm.txtCarga.Text = dr.Cells[0].Value.ToString(); 

      frm.txtCarga.Focus(); 
      frm.txtCarga.SelectAll(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 

しかし、私はfrm.Show()を持っていないので、それは表示されません。基本的にはF1キーを押してdatagridviewと表示されているフォームをクリックしてその行をクリックし、値をtextboxに入力します。しかし、それは動作しません。

どうすればよいですか?

+0

あなたは何をしたいのかはっきりしていません...あなたは同じフォームまたは他のものに表示したいですか? – NicoRiff

+0

おそらく、*はテキストボックス内の*のように見えますが、あなたが言及したように 'frm.Show()'を決して呼び出さないので、それらは見えません。ドレッサーにキーをセットして、寝室のライトをオンにしないと、それを見ることができないかもしれませんが、ドレッサーに座ってライトをオンにするのを待っているわけではありません。 .. –

答えて

0

あなたは、あなたが設定したパブリックプロパティを含むようにdataGridFromを変更し、終了後に元の呼び出しフォームから呼び出すことができます。あなたはどこか

dataGridFrom.Show(); 

あなたはそれがこのdataGridformを待ちながら、これはあなたの他のフォームを一時停止します

dataGridFrom.ShowDialog(); 

にそれを変更したいとしてのようなものを持っているあなたの元の形式で

public string dataValue = ""; 

private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    try 
    { 
     DataGridViewRow dr = dataGridView1.SelectedRows[0]; 
     dataValue = dr.Cells[0].Value.ToString(); 
     this.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
} 

閉じる。その直後に追加したい(前の行を表示)

これでフォームが閉じられ、テキストボックスが必要なものに更新されます。あなたはShow()を行うこともできますが、私が考えるイベントを作成する必要があります。これはずっと簡単です。

+0

いいえ新しいフォームが開きます。私はそれを望まない。 –

+0

あなたはテキストボックスがどこにあるのか説明できるので、アンサーを変更できる。 – BrinkDaDrink

+0

現在、新しいオブジェクトでfrmPrincipalのテキストボックスを設定しています。あなたはこのフォームと呼ばれる異種のfrmPrincipalを持っていますか? – BrinkDaDrink

関連する問題