2009-11-10 12 views
7

Posiadam formant użytkownika Windows Form z właściwością string do ustawiania tekstu w polu tekstowym. Ten ciąg może być wieloliniowy.Zezwalaj na wielowierszowe właściwości ciągu w oknie Właściwości

Zauważyłem, że w niektórych kontrolkach z właściwością tekstową, zamiast zmuszać do wpisywania w polu tekstowym właściwości pojedynczego wiersza, pojawia się małe okienko, w którym można wpisać wiele wierszy. (Faktem jest, że formant Windows Forms Textbox zezwala na to we właściwości Text).

Jak włączyć tę funkcję w oknie właściwości dla zaprojektowanej przeze mnie usługi?

Poniższa nie jest prawdziwy kod w mojej aplikacji, ale przykład jak taka nieruchomość może być zdefiniowana

public string Instructions 
{ 
    get 
    { 
     return TextBox1.Text; 
    } 
    set 
    { 
     TextBox1.Text = value; 
    } 
} 

Odpowiedz

14

Można użyć EditorAttribute z MultilineStringEditor:

[EditorAttribute(typeof(MultilineStringEditor), 
       typeof(System.Drawing.Design.UITypeEditor))] 
public string Instructions 
{ 
    get 
    { 
     return TextBox1.Text; 
    } 
    set 
    { 
     TextBox1.Text = value; 
    } 
} 

Aby uniknąć dodawania odniesienia do System.Design i tym samym wymagać pełnej struktury, można również napisać następujący atrybut:

[EditorAttribute(
    "System.ComponentModel.Design.MultilineStringEditor, System.Design", 
    "System.Drawing.Design.UITypeEditor")] 

Mimo że przestały one dzielić ramę na profil klienta i pełny.

+1

Przepraszamy, brakuje niektórych odniesień. Nie dostaję MiltilineStringEditor jako opcji w moim IntelliSense. Nawet jeśli używam System.ComponentModel.Design.MultilineStringEditor. I nie będzie się kompilować. Jeśli dostanę go do pracy, dam ci kredyt za właściwą odpowiedź, chociaż ... – David

+1

musisz odwołać się do 'System.Design.dll' – manji

+1

Perfect. Znalazłem to na własną rękę i właśnie wróciłem, aby opublikować to jako komentarz. Dziękuję Ci. Mam zamiar trzymać to otwarte przez dzień lub dłużej, więc mam nadzieję, że dostaniesz kilka głosów w odpowiedzi obok mojej. To była niezrozumiała wiedza i myślę, że powinnaś zostać nagrodzona. – David

Powiązane problemy