0
コントロールの値フィールドに表示したとしましょう。値が-displayの場合0
(値string.Empty
のタイプが10進数であり、10進数の代わりに文字列を挿入できないことはわかっていますが、それでも...多分そこにいくつかのフォーマットが可能ですか?)
3207 次
4 に答える
4
注: これは、 の現在の実装に依存しNumericUpDown
ます。
あなたがする必要があるのは、次のものから継承する新しいコントロールを作成することNumericUpDown
です:
public partial class SpecialNumericUpDown : NumericUpDown
{
public SpecialNumericUpDown()
{
InitializeComponent();
}
protected override void UpdateEditText()
{
if (this.Value != 0)
{
base.UpdateEditText();
}
else
{
base.Controls[1].Text = "";
}
}
}
于 2010-07-30T08:09:34.273 に答える
1
フォーマットを変更するためのサポートは非常に限られているようです。
私はこれを自分で試したことがありません。ただし、サブクラスを作成し、UpdateEditText
メソッドをオーバーライドしてカスタム形式をサポートすることもできます。このようなもの:
protected override void UpdateEditText()
{
this.Text = Value.ToString(); // Insert your formatting here
}
于 2010-07-30T08:04:35.647 に答える
1
public partial class MyNumericUpDown : NumericUpDown
{
public override string Text
{
get
{
if (base.Text.Length == 0)
{
return "0";
}
else
{
return base.Text;
}
}
set
{
if (value.Equals("0"))
{
base.Text = "";
}
else
{
base.Text = value;
}
}
}
}
于 2010-07-30T08:07:15.697 に答える