DOBON.NET DOBON.NETプログラミング掲示板過去ログ

編集前の値を取得したい

環境/言語:[win2000, VB.NET ]
分類:[.NET]

いつも参考にさせてもらっています。

早速ですが、質問があります。

実現したい内容
 テキストボックスの編集前の値と編集後の値を比べて
 変化していたら、ある処理の実行を行う

質問箇所
 編集前の値を取得するいい方法を教えていただきたい。

現在、変数を用意して(スコープは、フォーム単位ならどれでも参照可)
対応しておりますが、毎回セットしないと駄目なのでもっと効率の良い
方法があればと思っています。みなさんならどのような実装をするのかを
教えてください。

よろしくお願いいたします。
こんにちは、じゃんぬ@デスマーチ中 です。

■No10179に返信(178さんの記事)
> 現在、変数を用意して(スコープは、フォーム単位ならどれでも参照可)
> 対応しておりますが、毎回セットしないと駄目なのでもっと効率の良い方法があればと思っています。

毎回セットしないとダメなのはしょうがないですよね?
だって「ない機能」は自分で実装するしかないのですから。

> みなさんならどのような実装をするのかを教えてください。

この実装がなされた独立したコントロールを自作します。
今回ならば、System.Windows.Forms.TextBox を継承したカスタム コントロールで良いと思います。
Enter イベントで値を保持するだけですから、簡単だと思います。

> テキストボックスの編集前の値と編集後の値を比べて
> 変化していたら、ある処理の実行を行う

どのタイミングで比べるかわからないので何とも言えませんが、
この条件が満たされた時に自作の検証イベントを Raise すると良いでしょう。
回答ありがとうございます。じゃんぬねっとさん。

やはり、カスタムコントロールの作成が良い方法ですかね?
できれば、プロパティにて取得できるのかと思いさがしていたのですが、、。
カスタムコントロールの作成も考えていてはいたのですが、作成した事がなかった為
尻込みしていました。よい機会なので作成してみようと思います。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板