Açık bir özellik için yerleşik editörler nasıl kullanılır? Aptalca sorusu için basit bir çözüm olduğunu düşünüyorum, ancak bunu bugün çözemiyorum.Kullanıcı Denetimleri - Maske Özellik Düzenleyicisi Sayı
İçinde MaskedTextBox
Denetimi bulunan bir Kullanıcı Denetimi var. Ayrıca, kullanıcının değiştirmesi için özelliklerinden birkaçını açığa çıkardım.
Bu özelliklerden biri, normal bir MaskedTextBox denetiminde olduğu gibi önceden tanımlanmış değerler içeren bir düzenleyici başlatma özelliği ile ortaya çıkarmak istediğim Mask
özelliğidir.
Yani bir ortak özelliği ınputmask yarattı ve işe böylece her şeyi kurmak ama editör gösterdikten sonra, bu hatayı içeren bir hata iletişim kutusu:
Object reference not set to an instance of an object
i editörü kullanmıyorsanız ve bir maskeyi kopyalayın ya da kodu ayarlamak, sorunsuz bir şekilde çalışır. İşte
bir kod örneği şudur: ui tipi editörü kayıt için yeterli...
MaskedTextBox maskedtextbox;
myUserControl()
{
...
maskedtextbox = new MaskedTextBox(){
some stuff...
};
}
[DefaultValue("")]
[Editor("System.Windows.Forms.Design.MaskPropertyEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[Localizable(true)]
[MergableProperty(false)]
[RefreshProperties(RefreshProperties.Repaint)]
public string InputMask
{
get { return this.maskedtextbox.Mask; }
set { this.maskedtextbox.Mask = value; }
}
vaka. Normal durumlarda, ui tip editörünü kaydetmek yeterlidir ve ekstra bir şey yapmanıza gerek yoktur. Ancak 'MaskPropertyEditor' durumunda, özelliği düzenlerken editör, mülkün bir' MaskedTextBox''a ait olmasını bekler. Bu yüzden, 'MaskedTextBox'un 'Maske' özelliğini tam olarak düzenlemelisiniz. –