0

わかりました、私はグーグルで検索しました、しかし多分私は私の検索を奇妙に入れました。:/

VB.NETWinFormsアプリケーションがあります。フォームが最大化されたときにすべてのコントロールのサイズが適切に見えるように、すべてのコントロールにアンカープロパティを設定しています。(ただし、手動でのサイズ変更にはまだ慣れていません)。

とにかく、問題:

メインGUIフォーム/画像のボタン(今のところ1つのボタンでテスト)に同じプロパティを設定します。私がF5経由でプログラムを実行しようとすると、それはまともなように見えます。しかし、フォームを最大化すると、ボタン全体が必要以上に覆われます。

フォームのスクリーンショットを撮ったので、私が話していることを視覚的に確認できます。:/

前: http: //zack.scudstorm.com/before.png
後: http: //zack.scudstorm.com/after.png

ボタンが正しく表示されるようにするには、他にどのようなプロパティを設定する必要がありますか?:/(ボタンは、たとえば「1-1」、「2-3」などのボックスの上にあります。

ありがとう、-
ザック

4

2 に答える 2

3

必要なのが左上だけの場合は、左上と右下を固定しているようです。

編集:WinFormが変更されても変更されない画像の場合は、ボタンをまったく固定しないでください。彼らが行くところにそれらを置くだけです。画像を拡大縮小する場合は、画像のクリックを検出して拡大縮小計算を実行するか、拡大縮小計算を実行してForm.OnResizeイベントのコードにボタンを設定します。

于 2009-04-10T18:55:23.880 に答える
2

あなたの目標は「コンピュータ」のクリックを処理できるようにすることだけであるように思われるので...

この種のタスクに役立つオプションの1つは、クリック可能なすべての領域を表すために異なる色を使用する「オーバーレイ」ビットマップ(表示されませんが、ソースビットマップとまったく同じサイズ)を作成することです。(例:(R=0,G=0,B=0)コンピューター0、(0,0,1)コンピューター1など)

このビットマップをあまり問題なく自動的に生成することもできます(画像の左上隅をクリックしてから右下隅をクリックして新しい領域を定義できるモードがある場合)

マウスがクリックされると、オーバーレイ内のマウス位置のスケーリングされた座標でピクセルをチェックし、クリックが何に対応するかを判断できます。これは、多数のコントロールを作成するよりもはるかに簡単であり、長方形ではないクリック可能な領域を作成するのがはるかに簡単になります。

于 2009-04-10T18:58:34.123 に答える