2

最初は、ユーザーがフォーム上である場所から別の場所に移動できる画像ボックスを持っていました。ピクチャ ボックスのイベントを処理しましたが、完全に動いていました。

しかし今、ユーザーは画像の下にテキストを表示したいと考えています。そこで、カスタム コントロールを動的に作成し、そのピクチャ ボックスとラベル コントロールをユーザー コントロール内に追加することを考えました。

また、コントロールのドック プロパティを TOP と Bottom に設定しました。これで、ユーザー コントロールはサブ コントロールで完全に覆われました。

その後、ユーザー コントロールのマウス イベントを処理したいと考えています。しかし、残念ながらそれは私にとってはうまくいきません。

私の理解によると、ユーザーコントロールのサブコントロールにアクセスできる代わりに、ユーザーコントロールにアクセスできないため、ユーザーコントロールのマウスイベントが機能していません。

間違っている場合は修正し、解決策を提供してください。

4

1 に答える 1

1

まあ、マウスイベントは、マウスが特定のコントロールで何かをしているときにのみ発生しますMouseDownMouseUp私があなたに提供できる最善の提案は、コントロール内の各マウス イベントをキャッチし、その上でメソッドを呼び出すことです。userControl

  public UserControl1()
  {
     InitializeComponent();
     this.MouseDown += new MouseEventHandler(this.UserControl1_MouseDown);
     this.comboBox1.MouseDown += new MouseEventHandler(this.comboBox1_MouseDown);
  }

  private void UserControl1_MouseClick(object sender, MouseEventArgs e)
  {
      UCMouseDown();
  }

  private void UserControl1_MouseDown(object sender, MouseEventArgs e)
  {
      UCMouseDown();
  }

  private void comboBox1_MouseDown(object sender, MouseEventArgs e)
  {
      UCMouseDown();
  }

  private void UCMouseDown()
  {
      // Your code
  }
于 2013-09-10T07:07:47.630 に答える