ツイートする このエントリーを含むはてなブックマーク [雑記]

SplitContainerの問題点? / 2009-02-24 (火)

今日はメールの新規作成画面のテキスト編集機能(メモ帳並)の修正を
行っていたのですが、まずぶち当たってしまったのが複数コントロールの
制御の仕方というので、this.ActiveControlというプロパティで取得
出来る事をいろんなサイトを探して見つけ、コードを実装してみました。

しかしメニューボタンをクリックしても全く反応がなくて、どうしてだろうと
デバッグをかけてみると、本来アクティブになっているテキストボックスが
取得できるところが値にはSplitContainerが返るだけでテキストボックスを
取得できていないという状態になっていました。

今度はthis.ActiveControlとSplitContainerをキーワードとして検索してみると
探しいてるものそのもののコーディングがあったのでそれを使って実行してみたら
問題なく私のやろうとしていた内容ができてうれしかったです。

基本的な流れとしてはControl変数を作ってそこにthis.ActiveControlを格納して
そのコントロールがSplitContinerであることをハンドリングして、さらに
SplitContinerの中にあるActiveControlを最初に作ったContrl変数に格納して
あげればSplitContiner上にあるコントロールを取得することができます。
あとは各コンポーネント(今回はTextBox)の型に変えてあげればOKです。

現在テスト版nMail.dllにおいて不具合が発生しているためメール受信とか
表示系の部分には手を入れることができないのですが、もう少し表示部分には
手を加えたいかなぁ・・・って思っています。

Ak@Ne! Version 1.02の不具合?(nMail.dllの不具合だそうです)