貼りつけたコントロールの位置をピクセル単位で変更したい
VBで画面を作成した時、例えばラベル(Label)とテキストボックス(TextBox)コントロールをくみ合わせて、「ここには○○について入力させたい」って思い、ラベルとテキストボックスをフォームに貼りつけても、そのまま貼りつけただけだと恐らくはテキストボックス内の文字とラベルの文字の縦位置がズレてフォームに表示されて格好悪いといった現象に出会った方も多いと思います・・・。
そんなときには、このテクニックが有効です。
「CtrlキーとShiftキーを押しながら移動したいコントロールをマウスでドラッグする」
この技を使えば、移動することが可能なあらゆるコントロールをピクセル単位で移動させることができます・・・・
毎回、LeftプロパティやTopプロパティにわざわざ数字を入力するのも面倒ですしね(^^;
ALT+英数キー((A)みたいなやつ)で、特定のコントロールにフォーカスを移動したい
「参照(B)...」みたいなコマンドボタンや、「コマンドライン引数(C)」とキャプションのついたテキストボックスがWindowsではよく使われています(ALT+BやALT+Cを入力すると、そこにフォーカスが移動したり、ボタンの場合はClickイベントが発生する)が、この技の実現方法です。
まず、ボタン(コマンドボタン、オプションボタン)の場合は簡単です。この場合は・・・
「コントロールのCaptionプロパティの最後に、&とショートカットのキー(英文字の場合は普通大文字で書きます)を書く」
これだけでOKです。(A)のようにしたければ、&Aの前後にカッコをつけてあげればOKです。
さて、お次はALT+英数キーでテキストボックスにフォーカスを移動したい場合ですが・・・
「フォーカスを移動したいテキストボックスの表題(ラベル)」のCaptionプロパティの最後に&とショットカットのキーを書き、次にTabIndexプロパティを連続させる」
という技を使えばOKです。例えば・・・・
テキストボックス(TabIndex=9)の表題(対になるラベル)のCaptionプロパティを「名前(O」としたいの場合は・・・
ラベルのCaptionプロパティに(&O)を追加して、ラベルコントロールのTabIndexプロパティを8にします。
TabIndexプロパティの設定を間違えると、とんでもないところにフォーカスが移動してしまいますのでご注意を・・・
複数のコントロールの位置を同時に移動したい
テキストボックスとラベル、あるいは複数のコマンドボタンの位置をすべて同時に平行移動したいってことありませんか?私はよくやってますが・・・(^^;
各コントロールがフレームやピクチャーボックス内に配置されているのか、またはフォーム上に直接貼りつけられているかによって異なりますが・・・基本的には、
「Ctrlキーを押しながらマウスでドラッグしてコントロールを選択(四角い枠で囲まれます)後、選択したコントロールを移動する」
操作が一番簡単だと思います。このとき、どのコントロールを移動しても、選択されているすべてのコントロールが同時に移動します。
Ctrlキーを押しながら各コントロールを1つ1つクリックして選択してもいいのですが、たまにダブルクリックされちゃってコードウィンドウが開かれる・・・なんてことがありますので・・・
フォーム上にコントロールが貼りつけられている場合は、何も考えずにこの操作をすればOKです。もし、フレームやピクチャーボックス上にコントロールが貼りつけられている場合でも、フォームを一度クリックした後にこの操作を行えばOKです。