問題タブ [errorprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - KeyEventArgs の SuppressKeyPress プロパティにアクセスできない
この単純な問題の解決策を探すのに 90 分を費やした後、恥ずかしながら質問を投稿する必要があります。
ユーザーがテキストを入力する WPF プロジェクトに取り組んでいます。ユーザーが入力している間に入力を確認し、ツール ヒントを表示し、理想的には許可されていない文字をブロックしたいと考えています。基本的にはこのスレッドです:
ユーザーが WinForms テキストボックスに入力した文字を検証するにはどうすればよいですか? またはこれ
ユーザー入力を検証するベスト プラクティスの方法はありますか?
デザイナーで KeyDown-Property フィールドをダブルクリックして、このコード ビハインドを作成しました (ここで失敗した場合は、これについて言及してください)。
e.SupressKeyPress プロパティにアクセスできません。なんで?VS が提供するプロパティの時点で、 eは間違ったタイプであるか、ここで間違ったコンテキストにあると思います。
編集1
@rokkerboci のおかげで、そのような機能を構築することができました。しかし、それは複雑すぎると思います。したがって、改善はまだ歓迎されています:)
メッセージ ボックスの作成時の新しいエラーアプリケーションは、例外がスローされずにハングします。
c# - Windows フォーム - ErrorProvider オーバーラップ アイコン
ErrorProvider でカスタム アイコンを使用しています。
次のようなコードを使用して、アイコンが重なっているという問題があります。
_control2にエラーがある (がCheckedである)間に_control1と対話しているため、 _errorProvider2にエラーが設定されています。ValidateAllメソッドが呼び出されるたびに、 _control1に対して_errorProvider1が正しく設定されますが、 _control2 _errorProvider2は古いアイコンを消去せずに余分なアイコンを描画し続けます。
_control2と対話すると、_errorProvider2は通常に戻りますが、_control1の_errorProvider1は「クリック」されるまで同じことを行います。
基になる Control は影響しないことに注意してください。CheckBox である必要はありません。
私が試したこと:
- フォーム/コントロールごとに 1 つの ErrorProvider のみを使用して、
- ErrorProvider を設定する前に各コントロールにフォーカスし、
- ErrorProviders をクリアしない
どんな助けでも大歓迎です、ありがとう!
c# - WindowsフォームでReactiveUIでErrorProviderを使用するには?
ErrorProvider
Windows フォームコンポーネントをReactiveUI
ベース アプリケーションに統合する方法を探しています。
ErrorProvider コントロールは Windows フォームの BindingContext/BindingManager インフラストラクチャに依存していますが、これはもちろん ReactiveUI では使用されません。
View オブジェクトのバインドされたコントロールから、それらがバインドされている ViewModel のプロパティに戻るにはどうすればよいですか? VM プロパティで .NET 属性を使用する可能性を考えていますが、コントロールがバインドされているプロパティを自動的に見つける方法が必要です。
別のアプローチとして、ビューに表示される検証ステータスを必要とするプロパティごとに VM に 2 つ目のプロパティを作成し、標準の ReactiveUI バインディング/サブスクライブ メカニズムを使用して を呼び出すErrorProvider.SetError()
こともできますが、これはコントロールごとに手動で接続する必要があります。私は避けたいと思います。
そのため、ビューでコントロールを反復するときに、バインドされている VM プロパティがある場合はそれを「見つける」方法。