Eto: テキストのプロパティとイベントをComboBoxに追加します

作成日 2020年05月19日  ·  7コメント  ·  ソース: picoe/Eto

入力時に押されたキーの大文字小文字を変更する必要があります。

キーを押すこと自体はOnKeyDownで簡単にキャッチできますが、入力した文字を置き換えるためにテキスト内のカーソル位置を見つける方法は明らかではありません。

テキストがすでに変更されている場合、イベントOnTextChangedの呼び出しが遅すぎます。

全てのコメント7件

キャンセルできるTextInputイベントをお試しください。 TextBoxまたはTextAreaのカーソル位置は、 TextBox.Selectionを使用して簡単に決定できます。

したがって、これがMaskedTextBoxの仕組みです。これは、テキストを希望どおりに翻訳するIMaskedTextProviderを実装することで、探していることを実行するためのもう1つのオプションです。 VariableMaskedTextProviderは、要件に合わせて調整できる基本実装に役立ちます。

`` `c#
クラスUpperCaseProvider:VariableMaskedTextProvider
{{
public override bool Insert(char文字、ref int位置)
{{
base.Insert(char.ToUpper(character)、ref position);を返します。
}

public override bool Replace(char character, ref int position)
{
    base.Replace(char.ToUpper(character), ref position);
}

}

Then to use it:
```c#
new MaskedTextBox(new UpperCaseProvider());

お役に立てれば。

しましょう。

iOSTextInputには制限があるとドキュメントに記載されているため、試しませんでした。

くそー。

これをComboBoxで使用しようとしていますが、 ControlObjectEto.Wpf.Forms.Controls.EtoComboBoxにキャストできません( TextBoxにアクセスするため)。クロスプラットフォームの方法でそれを行う方法の問題。

うーん、ええ、 ComboBoxには、 TextBoxのように、すべてのテキストイベント/プロパティが含まれているわけではありません。 それらはおそらく追加されるべきです。

何らかの形のオートコンプリートを実行しようとしている場合、私にとってうまくいったことの1つは、TextBoxを使用して、正しい位置にフチなしのフォームを表示することです。 これにより、表示されるアイテムとその表示方法の柔軟性も高まります。 しかし、それは少し手間がかかることになります。

しましょう。 ありがとう。

ねえ@ LaraSQP 、ComboBoxのプロパティ/イベントの実装を追跡するためにこれを開いたままにしておきます。

あなたが正しいです。 申し訳ありません。

このページは役に立ちましたか?
0 / 5 - 0 評価