- - PR -
IPアドレス入力コントロール
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-02 15:59
お世話になります。
ネットワーク接続の「インターネット プロトコル (TCP/IP)」の プロパティ画面にあるIPアドレス入力コントロールのようなものを .NET Framework のコントロールとして作成したいと思い、 手始めに
と、クラスを作成したのですが、 [←]キー及び[→]キーを押下すると、キャレットが移動するのではなく、 他のコントロールへフォーカスが移動してしまいます。 createParams.ClassName を "EDIT" とした場合は、 ちゃんとキャレットが移動するのですが・・・ この現象は一体どういうことなのでしょうか。 コードで回避することは可能なのでしょうか。 以上、よろしくお願いいたします。 | ||||
|
投稿日時: 2008-05-04 00:26
子コントロールが存在していないからでは...? たとえば Button コントロールなんかでもそうなります。 作るなら UserControl を継承して TextBox と Label を組み合わせた方が早いと思いますよ。 フォーカスの制御も思うとおりにできます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-05-04 01:06
同じ手順で作成したコントロールを貼り付けて実行し、Spy+で確認したところ、EDITクラスの子ウィンドウは4つあるようですね。 ぱっと見る限りは、XPでのTCP/IPのプロパティで使われているウィンドウと同一の構成になっています。 ただ、キー操作時の動き方が期待した結果と異なる理由については分かりません。 | ||||
|
投稿日時: 2008-05-04 01:25
IsInputKey オーバーライドしてカーソルキーのときの前処理キャンセルかな。
| ||||
|
投稿日時: 2008-05-09 22:31
返信が遅れました。申し訳ありません。
Hongliang さんのおっしゃる IsInputKey 辺りを調べて 再度挑戦したいと思います。 それで駄目なら、じゃんぬねっとさんのおっしゃる様に UserControl を作成します。 レスありがとうございました。 またわからないことがあった時は宜しくお願いいたします。 |
1