- PR -

Leave イベントが発生しない?.NETの仕様?

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-05 08:53
引用:

inaさんの書き込み (2006-03-05 01:09) より:

早速、「その方法をみんなに教えてあげよう!」とネットで探してみたんですが、探し方が悪いようで見つけることが出来ませんでした...
検索のキーワードだけでもかまいませんので、是非ともご教示していただけないでしょうか?>じゃんぬねっと様


インターネット リソースからでは見つからないかもしれないですね。
なんせ、charCode, keyCode の仕分けが結構面倒だったような気がしますから。

それにしても、この要望って私の周りだけでなく、全国的に多いんですね。
ちょっと公開してみる価値はあるかも...

逆に、置き換えるというのも大変だと思うんですが、そんなに簡単にできる話なんですか?
クライアント領域さえ求めればキッチリ合うんでしょうけど、それが面倒に感じます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ina
ベテラン
会議室デビュー日: 2005/04/14
投稿数: 58
投稿日時: 2006-03-05 11:47
引用:

じゃんぬねっとさんの書き込み (2006-03-05 08:53) より:
逆に、置き換えるというのも大変だと思うんですが、そんなに簡単にできる話なんですか?
クライアント領域さえ求めればキッチリ合うんでしょうけど、それが面倒に感じます。


ええ。ご想像通り面倒くさいらしくて大抵の人が愚痴を言っていました・・・
ですので、これが出来てくれるととても嬉しいと思うんです。
また、「テキストボックスで置き換え」の方法しか知らない人って結構いると思うんですね。
もしも、この方法を公開していただけるのであれば、その人達も助かると思うんです。
ですので、公開する方向で前向きに検討していただけると嬉しいです。
以上、勝手なお願いですみませんが、よろしくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-05 21:27
引用:

inaさんの書き込み (2006-03-05 11:47) より:

もしも、この方法を公開していただけるのであれば、その人達も助かると思うんです。
ですので、公開する方向で前向きに検討していただけると嬉しいです。
以上、勝手なお願いですみませんが、よろしくお願いいたします。


時間があまりないので適当になりますが、後は (不具合) は各々で改変という形でよろしければ...
C# で宜しいですか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2006-03-06 01:52
引用:

じゃんぬねっとさんの書き込み (2006-03-05 08:53) より:
逆に、置き換えるというのも大変だと思うんですが、そんなに簡単にできる話なんですか?
クライアント領域さえ求めればキッチリ合うんでしょうけど、それが面倒に感じます。



置き換える方法も別段めんどうではないですよ。
私は、ComboBoxを継承してDisable時に内部処理でTextBoxへの
置き換えを行っていましたが、数十行のコードでしたね。
(TextBoxを内部でMultiLine指定にしたりトリックはありますが、
 たいしたコーディングじゃないと思います)

こちらの方法だと内部で使うTextBox部を独自のTextBox継承クラスに変えるなど、
いろいろ機能拡張で応用しやすいと思います。
ちなみにComboBoxの[▼]部も含めて、その上にTextBoxを乗せる方法だと
クライアント領域を微調整しても、デザイン的にキッチリ合うことはなかったので、
切り替え時に微妙にチラっとなる点はありました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-06 02:11
引用:

よねKENさんの書き込み (2006-03-06 01:52) より:

置き換える方法も別段めんどうではないですよ。
私は、ComboBoxを継承してDisable時に内部処理でTextBoxへの
置き換えを行っていましたが、数十行のコードでしたね。


というよりは、カスタム コントロールにしてしまえば、
どの方法であっても、"面倒" ではなくなるでしょうね。
1 度組んでしまえば、それまででしょうから。(^-^)

引用:

こちらの方法だと内部で使うTextBox部を独自のTextBox継承クラスに変えるなど、
いろいろ機能拡張で応用しやすいと思います。


なるほど、こういう考えは思いつきませんでした。
とはいえ、ReadOnly 的な処理ではあまりなさ気な気はしますが。

引用:

ちなみにComboBoxの[▼]部も含めて、その上にTextBoxを乗せる方法だと
クライアント領域を微調整しても、デザイン的にキッチリ合うことはなかったので、
切り替え時に微妙にチラっとなる点はありました。


問題がありそうなのはココになるのかな...
キッチリ合わないものなんですね?
というより、私も試してみた方が良さそうですね。
面倒だと決め付けて試していませんでした。。。

# ina さんはここを問題視していたんでしょうか...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ina
ベテラン
会議室デビュー日: 2005/04/14
投稿数: 58
投稿日時: 2006-03-06 05:11
inaです。
じゃんぬねっと様、よねKEN様、お返事ありがとうございます。

確かに、よねKEN様のおっしゃる通りにすれば格別面倒くさく無いんでしょうね。
また、じゃんぬねっと様のおっしゃる通りに「カスタムコントロール」にしてしまえば一度組んでしまえば、利用する側としても簡単ですね。
と言うわけで、どちらの方法でもカスタムコントロールを利用する立場から見たら大差無いことは了解いたしました。

が、それでも私個人としては見た目がコンボボックスの方法を是非とも知りたいです。
(なんか、わがままな言い方ですが・・・)

入力可能時はコンボボックス、入力不可能時はテキストボックスと言うデザインって、(これらの技術的な背景を知らない)アプリケーションを使う人間から見ると違和感があると思うんですね。
そのため、UIレビューの時に説明をする必要が有ったり、マニュアルのどこかにその旨を記述する必要が出てきたりとか、実装以外のところで余計な手間が発生すると思うんです。
(そもそも、標準のコンボでこれらの要件が出来ていたらテキストボックスに置き換えるって発想は出てこないはずですから)

と言うわけで、是非とも見た目がコンボボックスの方法を実装するための方法を教えていただきたいです。
(「どうやればできるのか」というアプローチ方法さえ分かれば良いので、言語や記述レベルについては、じゃんぬねっと様に全てお任せいたします)
以上です、よろしくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-06 09:07
引用:

inaさんの書き込み (2006-03-06 05:11) より:

が、それでも私個人としては見た目がコンボボックスの方法を是非とも知りたいです。
(なんか、わがままな言い方ですが・・・)


とりあえず、取り急ぎ作ったものです。
暫定版ということで、取り扱いには注意してください。

  ReadOnlyComboBox クラス

EditBox に対しての対応 (コンテキスト メニューなど) はかなり端折ってあります。
あくまでイメージということで見ていただければ、と思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-06 09:29
同名のを検索したら、何かあったし... orz

  Read only ComboBox - The Code Project - Combo & Listboxes

ちょっと違うけど...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)