2

カスタム Texbox で Cursor プロパティをオーバーライドする際に問題があります。問題は、カスタム テキスト ボックスをフォームに追加して Cursur の値を変更すると、プロパティがデザイナーに表示されず、シリアル化されないことです。

public new Cursor Cursor
{
    get { return this.cursor; }
    set { this.cursor = value; }
}

私はデザイナーで次のようなものを期待しています:

... 
customTextBox1.Cursor = System.Windows.Forms.Cursors.Hand;
...

他のプロパティをオーバーライドすると、問題は解決しません。

4

1 に答える 1

0

overrideプロパティを作成するためにを使用しているのではなく、 を使用しているため、クラスが aまたは a のnewいずれかとして扱われるときはいつでも、あなたのものではなく、クラスのプロパティのバージョンを使用します。それは...多くの場合、この環境のタイプ。ControlTextboxControl

Controlの考え方を変えたいと本当に確信している場合は、new ではなくCursorを使用する必要があります。override追加のプロパティを追加するだけの場合は、既存のプロパティをシャドウするのではなく、プロパティにまったく別の名前を付けることを検討する必要があります。

于 2012-10-29T14:26:48.130 に答える