2016-05-20 4 views
-1

ユーザーが情報を入力する小さなC#アプリケーションを作成しています。情報はオブジェクトに格納され、オブジェクトは順番にリストに格納されます。情報はリストビューでユーザーに表示されます。リストビュー項目がフォーカスされているときにメソッドを呼び出すC#

ユーザがリストビュー内のアイテムをクリックすると、そのアイテムのインデックスがリストに渡され、同じインデックスを持つオブジェクトが検索され、その情報が取得されるようにしたいと考えています。情報は、ユーザーが自分の情報を入力するのと同じテキストボックスに表示されます。

私の問題は、ユーザーがリストビュー内の行を選択したときにどのようなメソッドを呼び出さないかということです。

これは私が持っているものです。

 private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (listView1.SelectedItems.Count == 1) 
     { 
      index = listView1.FocusedItem.Index; 
      textBox1.Text = manager.FocusedContact(index).FirstName; 
      textBox2.Text = manager.FocusedContact(index).LastName; 
      textBox3.Text = manager.FocusedContact(index).Street; 
      textBox4.Text = manager.FocusedContact(index).City; 
      textBox5.Text = manager.FocusedContact(index).ZipCode; 
     } 
    } 

私が試した:

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
textbox1.Text = "hi"; 
} 

をので、私はprivate void listView1_SelectedIndexChangedが間違っている方法である、または私がトグルするのを忘れて、リストビューのためのいくつかの選択肢があることを知っていますオン/オフ?

+1

可能な重複[リストビューでクリックされたアイテムを取得する方法](http://stackoverflow.com/questions/13326583/how-to-get-clicked-item -in-listview) –

+0

これは正しいイベントです。しかし、アイテムが選択されていないときにも呼び出されます。フォーカスされたアイテムは選択されていないかもしれません!! selectetedItems.Countを確認し、.selectetedItems [0]を使用します。 – TaW

+0

どういう意味ですか?すでにselectedItems.Countを確認しています。 selectedItems [0]はどのように使うべきですか?あなたは答えとしてあなたのコメントを投稿できますか? – Taegos

答えて

1

あなたは、このように選択されたインデックスを取得することができるはず:イベントがまったく発射されていない

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var index = listView1.SelectedIndex; 
} 

場合は、イベントハンドラは、フォームのDesigner.csファイルに正しく登録されていることを確認してください。あなたのケースでは、それは次のようになります。

this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged); 
+0

これは私がすでにやっていることですか?あなたが私の質問を読んでも私は試みました: 'private void listView1_SelectedIndexChanged(オブジェクト送信者、EventArgs e) { textbox1.Text =" hi "; } 'イベントがまったく発砲していないかどうかを確認します。このmyテキストボックスを使用するのはまだ空です。 – Taegos

+0

申し訳ありませんが、あなたの質問から、イベントが発砲していないという問題は明らかではありませんでした。あなたの主な問題は、選択したアイテムのインデックスを取得できなかったことです。イベントが発生しない場合は、イベントハンドラがフォームのdesigned.csファイルに登録されているかどうかを確認してください。必要があります:this.listView1.SelectedIndexChanged + =新しいSystem.EventHandler(this.listView1_SelectedIndexChanged); – abrown

+0

ああ、申し訳ありません。とにかく、このイベントはdesigned.csファイルに登録されていませんでした。私はあなたが書いたものを追加しました。私が受け入れることができるようにあなたの答えを編集してください:) – Taegos

関連する問題