- - PR -
C# pictureBoxを使わずにOnPaintで描画した画像にMouseUpなどを使いたい
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-18 21:37
ヘルプで領域を使用したヒット テストというがヒットしたんですが、MouseUpなどを使いたいのですが、よくわかってないのですが、できますか?
| ||||
|
投稿日時: 2005-11-19 15:32
コンストラクタにthisとやるとMouseUpがでてきますが、これでRegionを使えば画像を操作できますか?
| ||||
|
投稿日時: 2005-11-20 17:00
これで、できました。 | ||||
|
投稿日時: 2005-11-20 17:03
Form1_Loadのあとに(object sender, System.EventArgs e)が抜けてますね。
| ||||
|
投稿日時: 2005-11-20 17:36
oldtimeの初期化が抜けてますね。
public double oldtime = System.Environment.TickCount; | ||||
|
投稿日時: 2005-12-04 07:44
MouseUpLocationのaがsになっていてMouseUpLocstionになってますね(^^;。自分のソースも全部そうなっていました。
| ||||
|
投稿日時: 2005-12-04 09:46
すいません、何をされたいのかが判りませんでした。
PaintEventArgs を MouseUp イベントでも使用したいということでしょうか? ソースを見てみたのですが、TickCount を取ったりと不明な点が多いので、 具体的に何が必要で何を実装しているつもりなのかを書かれた方が良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-12-04 11:21
PictureBoxとかのコントロールしかMouseUpなどのイベントが使えないのかなと思いまして、領域を使用したヒット テストというのを見てPictureBoxを使わないでできるのかなと思い、何もわからず投稿してしまったのですが、Form1_MouseUpというのがあるのを後で発見してFormに直接描画した画像をいじりたかっただけで後はヘルプで何を参考にしたかわかりませんが、Point MouseUpLocationとやっているのをみつけて、やってみたら、こんなコードになりました。
TickCountは14秒間とるようにしたのですが、こうやってまわさないとMouseUpLocationを感知するのが一瞬で終わってしまうじゃないですか(違いますか?ほかにやり方があたら教えていただけるとうれしいです)。 別に、14秒間だけ反応してくれて問題ないのですが、マージャンで牌をきって移すという動作がやりたかっただけです。このソースで自分のやりたいことは実現できました。 でも、問題があって、OnPaintの中でBeginInvokeしてEndInvokeで乱数発生させたint[] xを使って牌を表示するようにしているのですが、何が問題かわかってないのですが、このウィンドウがほかのウィンドウの後ろになってしまうと、またアクティブにして前にしたとき、int[] xを使って表示した牌が変わってしまうのです。どうしてでしょうか? |
1|2|3
次のページへ»