まず、私は.NETを初めて使用するので、質問が単純すぎるか、答えが単純すぎる場合は、事前に謝罪します。私はいくつかの調査を行い、さまざまなことをテストしましたが、それを機能させることができません。私がやろうとしていること:
フォームにはさまざまなツールチップがあり、同じプロパティを使用したいと考えています。例えば:
mySampleTooltip.ShowAlways = true;
mySampleTooltip.IsBalloon = true;
mySampleTooltip.AutomaticDelay = 750;
mySampleTooltip.AutoPopDelay = 32767;
すべてのツールチップに対してそれを行い、コードを100回貼り付ける代わりに、より洗練された解決策があるのではないかと思いました。私のアイデアは、PermaToolTipと呼ばれるクラスToolTipのサブクラスを作成し、この特定のクラスからオブジェクトを作成することでした(ちなみに、それは正しいアプローチですか、それとももっと良い方法がありますか?)。
私のコードは次のようになります。
public class PermaToolTip : ToolTip
{
private bool _ShowAlways;
private bool _IsBalloon;
private int _AutomaticDelay;
private int _AutoPopDelay;
// SET ShowAlways Property for subclass
public bool ShowAlways
{
get
{
return _ShowAlways;
}
set
{
_ShowAlways = true;
}
}
// SET IsBalloon Property for subclass
public bool IsBalloon
{
get
{
return _IsBalloon;
}
set
{
_IsBalloon = true;
}
}
// SET AutomaticDelay Property for subclass
public int AutomaticDelay
{
get
{
return _AutomaticDelay;
}
set
{
_AutomaticDelay = 750;
}
}
// SET AutoPopDelay Property for subclass
public int AutoPopDelay
{
get
{
return _AutoPopDelay;
}
set
{
_AutoPopDelay = 32767;
}
}
}
しかし、それは機能しません。具体的には:
1)プロパティ名の下に緑色の線が表示され、次のような警告が表示されます。警告:「ResellerRatingsGUI.PermaToolTip.ShowAlways」は、継承されたメンバー「System.Windows.Forms.ToolTip.ShowAlways」を非表示にします。非表示にする場合は、新しいキーワードを使用します。
2)クラスPermaToolTipのオブジェクトをインスタンス化しましたが、必要なプロパティがありません。
コメントへの回答:これはユーザー定義のコントロールではありません。それは.NETコントロールです。
私が間違っていることについて何か考えはありますか?