2012-02-23 15 views
2

リッチテキストボックス、リストボックス、チェックリストボックス、フォーム内のボタンがあります。 リッチテキストボックスにテキストファイルが読み込まれました。私はリッチテキストボックス内のチェックリストボックスの文字列を検索し、リストボックスに見つかった文字列のインデックスを追加しています。 エラーリストのマウスダブルクリックイベントで、カーソルを文字列の特定のインデックス位置に設定しています。イベントのネストされたトリガー

今度は、の次のとそれ以前の2つのボタンを追加する予定です。リストボックスの次の項目と前の項目を選択すると、カーソルはその場所を指します。どうやってするか。 ボタンをクリックすると、選択したアイテムが現在のアイテムの隣に表示されます。そのためには、マウスのダブルクリックイベントを呼び出す必要があります。

private void lstErrorList_MouseDoubleClick(object sender, MouseEventArgs e) 
     { 
      //rtbFileDisplay.Cursor = Cursors.WaitCursor; 
      MessageBox.Show(lstErrorList.SelectedIndex.ToString()); 

      int val; 
      string val1 = lstErrorList.Text; 
      val1 = val1.Remove(0, val1.Length - 8); 
      string replacement = Regex.Replace(val1, @"\t|\n|\r|[a-zA-Z]",""); 
      val = Convert.ToInt32(replacement); 
      rtbFileDisplay.Select(val, 0); 

      rtbFileDisplay.Focus(); 

     } 
private void btnNextError_Click(object sender, EventArgs e) 
     { 
      if (lstErrorList.Items.Count != 0) 
      { 
       if (lstErrorList.SelectedIndex != lstErrorList.TopIndex) 
        lstErrorList.SelectedIndex++; 
       //lstErrorList.SelectedItem = int.Parse(lstErrorList.SelectedItem + 1); 

      } 
    } 
+2

コードをプライベートメソッドに移動します。だから、マウスイベントを偽造するのではなく、コード内でそれらのメソッドを呼び出すことができます。 –

+0

私は選択したインデックスの変更イベントを修正することができました。しかし、lstErrorListのマウスのダブルクリックを呼び出すために立ち往生しました。lstErrorList.MouseDoubleClick(送信者、...ここ) –

答えて

0

必ずしも良い方法と考えられていますが、とにかくそれらを無視している場合は、送信者とのEventArgsの代わりに「NULL」でいずれかのイベントを呼び出すことができません。

関連する問題