2012-03-01 5 views
1

に新しいプロパティを追加します。 (単語が自動折り返しできるように)は、私は、AutoSizeプロパティ(既存のラベルプロパティ)のように、既存のラベルの.NETコントロールに真IsWordWrap(新しいカスタムプロパティ)のような</p> <p>何かを=新しいプロパティを追加しようとしています.NETコントロール

どのような考えですか?私はLabelName.IsWordWrap = trueを与えることができます。

テキストボックスには単語の区切りがあります。どのような方法でラベルを継承することができますか?

答えて

4

Labelから新しいクラスを派生させ、必要なロジックを追加します。しかし、単にTextBoxをラベルのように見えるようにスタイルする方がはるかに簡単です。

using System.Windows.Forms; 
// ... 

class WrappingLabel : Label 
{ 
    private bool _isWordWrap 
    public bool IsWordWrap 
    { 
     get { return _isWordWrap; } 
     set 
     { 
      if(_isWordWrap != value) 
      { 
       _isWordWrap = value;      
       FormatText(value); 
      } 
     } 
    } 

    private void FormatText(bool wrapped) 
    { 
     // logic to wrap or un-wrap text goes here. 
     // you will need to call this when the text changes as well. 
    } 
} 
+0

はい私はテキストボックスであなたに同意しますが、その新しいクラスの派生と新しいプロパティを固定する方法があれば簡単なサンプルを表示できますか? – Sharpeye500

+1

@ Sharpeye500:例を追加しました。私は実際にはラッピングロジックを実装していませんでしたが、そのための時間はありません。それでもまだ... TextBoxを使用してください。あなたは標準的なコントロールを使ってあなたが望む外観と振る舞いを得ることができればあなたの時間を無駄にしています。 –

0

hereの解決策をチェックすることもできます(ほかにもいくつかあります)。

関連する問題