C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: タッチパネルでボタンが押された時/離された時


(過去ログ 143 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■83927 / inTopicNo.1)  タッチパネルでボタンが押された時/離された時
  
□投稿者/ おへそ七 (1回)-(2017/04/25(Tue) 15:31:16)

分類:[C#] 

タッチパネルで、ボタンが押された時と離された時の処理をしたいのですが、
「押された」方の処理が期待したタイミングで動きません。

MouseDownイベントを試したところ、「押された」時には発生せず
「ボタン上で指をスライドされる」か「離された」時に発生します。

その他のイベントも調べましたが用途に合うものが見当たりません。

何か方法がありましたらご指導お願いします。
よろしくお願いします。

ちなみに、「離された」方についてはMouseUpで期待通り動きます。


開発環境:VS2010
ターゲット機:Panasonic TOUGHPAD Windows8.1

引用返信 編集キー/
■83929 / inTopicNo.2)  Re[1]: タッチパネルでボタンが押された時/離された時
□投稿者/ おへそ七 (2回)-(2017/04/25(Tue) 18:23:48)
質問者です。
解決しました。

カスタムコントロールを用いて下記のように書いたら期待する動作をするようになりました。
どうもありがとうございました。

namespace Test2
{
  public partial class CustomControl1 : Button  // @
  {
    public CustomControl1()
    {
      InitializeComponent();
    }

    protected override void OnPaint(PaintEventArgs pe)
    {
      base.OnPaint(pe);
    }

    protected override void WndProc(ref Message m)  // @
    {
      if (m.Msg == 0x246/*WM_POINTERDOWN*/)
      {
        // タッチパネルでボタンが押された時の処理
      }
      else if(m.Msg == 0x247/*WM_POINTERUP*/)
      {
        // タッチパネルでボタンが離された時の処理
      }
      base.WndProc(ref m);
    }
  }
}

参考にしたサイト:
http://ameblo.jp/program-boy/theme-10064776404.html
https://msdn.microsoft.com/en-us/library/windows/desktop/hh454903(v=vs.85).aspx

開発環境:VS2010 C# Windowsフォームアプリケーション
ターゲット機:Panasonic TOUGHPAD Windows8.1

引用返信 編集キー/
■83930 / inTopicNo.3)  Re[2]: タッチパネルでボタンが押された時/離された時
□投稿者/ おへそ七 (3回)-(2017/04/25(Tue) 18:25:03)
解決です。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -