C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: テキストボックスの入力制限


(過去ログ 67 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■38997 / inTopicNo.1)  テキストボックスの入力制限
  
□投稿者/ kiwa (2回)-(2009/07/29(Wed) 09:42:25)

分類:[C#] 

2009/07/29(Wed) 09:50:40 編集(投稿者)

いつもお世話になっています、
現在VC$2005を使用しております。

現状としてテキストボックス(マルチライン)の設定を行っており、次の事は可能です。

・テキストボックスへのデフォルト入力をアルファベットにしたい
  ⇒プロパティ:ImeMode = Off
・全角入力の場合、日本語は除外して、アルファベットだけ受け付けたい
  ⇒TextBox.InputPermision.Numeric, TextBox.InputPermision.Alphabet(※)

しかし、(※)を設定すると、改行やクリップボードからの貼り付けも拒否されてしまいます。
(※)がなければ貼り付けは可能な状況です。

まとめ
・テキストボックスのデフォルト入力を半角アルファベッドにしたい
・全角入力の場合は日本語だけ除外したものを入力されるようにしたい
・上記を満たしつつ、改行(改行コード:\n等)、貼り付けを可能にしたい

ご協力お願いします。
引用返信 編集キー/
■39005 / inTopicNo.2)  Re[1]: テキストボックスの入力制限
□投稿者/ よねKEN (392回)-(2009/07/29(Wed) 10:27:58)
No38997 (kiwa さん) に返信
> ・全角入力の場合、日本語は除外して、アルファベットだけ受け付けたい
>   ⇒TextBox.InputPermision.Numeric, TextBox.InputPermision.Alphabet(※)

InputPemissionって何ですか?
TextBoxにそのようなプロパティ等はありません。(WPFでも)
独自にTextBoxを拡張したコントロールでしょうか?

> しかし、(※)を設定すると、改行やクリップボードからの貼り付けも拒否されてしまいます。
> (※)がなければ貼り付けは可能な状況です。

独自のTextBoxだとして、今、どのように実装しているのでしょうか?

> まとめ
> ・テキストボックスのデフォルト入力を半角アルファベッドにしたい

入力した瞬間に半角アルファベット以外をはじくという意味ですか?

> ・全角入力の場合は日本語だけ除外したものを入力されるようにしたい

全角アルファベット以外も記号などはOKということですか?
「日本語だけ除外」した結果何が残るのが正しいのか不明です。
後、ImeMode.Disableにして全角入力をさせないのも一つの手ですね。

> ・上記を満たしつつ、改行(改行コード:\n等)、貼り付けを可能にしたい

貼り付けた中に許可されるものと禁止されるものが混在する場合は、
許可された文字だけを抜き出して貼り付けるのでしょうか?

じゃんぬねっとさんの以下のソースが参考になるかもしれません。
ExTextBox
http://jeanne.wankuma.com/library/

引用返信 編集キー/
■39013 / inTopicNo.3)  Re[2]: テキストボックスの入力制限
□投稿者/ kiwa (3回)-(2009/07/29(Wed) 12:13:17)
2009/07/29(Wed) 12:14:01 編集(投稿者)

No39005 (よねKEN さん) に返信
色々ご指摘ありがとうございます。
また、言葉足らず、知識不足でご迷惑をおかけしております。

お詫び
 ・InputPermisionについて
  先人から引き継いだ内容ですので、拡張機能だとは知りませんでした。
  また、Googleで調べても英語のページが見つかりましたので、
  これもデフォルト機能だと勘違いさせる要因となりました。

 ・デフォルト入力をアルファベットにしたい
  テキストボックスにフォーカスを当てた時のデフォルト入力を
  半角英数にしたいという意味です。

 ・上記を満たしつつ、改行、貼り付けを可能にしたい
  InputPermision拡張機能では指定した物(数字、アルファベッド、記号)
  のみの入力を受け付け、他は入力すらすることができないというものです。
  そこに改行や、貼り付けのキーやコマンドを受け付けるようにしたいと
  考えたのですが、これは拡張機能なので質問するものではありませんでした。
  
以上、まとめてですが、付け足しを含めお詫びを申し上げます。

また、今回の件ですが、よねKENさんのアドバイスにより、
ImeMode=Disable
で完全に解決することができました。

本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -