-2

texbox からのテキストを含む string/int を作成する必要があります。安定している必要があります。このテキストボックスを編集した後、この文字列/整数を変更することはできません。解決策はありますか?テキストボックスなどをブロックする:

string x = textBox1.Text;

私を満足させないでください

編集; 私はこれを手に入れました: string x = textBox1.Text; したがって、これは毎回textBox1から値を受け取り、テキストボックスの値を変更できます

4

2 に答える 2

0

テキストボックスに現在のテキストを常に含む変数が必要な場合は、いくつかのオプションがあります。

最初のオプションはtextbox1.Text、代わりに変数を使用するのではなく、テキストにアクセスしたいときはいつでも使用することです。

次のオプションは、プロパティを作成することです。実際には何も変更せずに、構文を少し良くする可能性があります。

private string MyText
{
    get
    {
        return textbox1.Text;
    }
    set
    {
        textbox1.Text = value;
    }
}

MyText次に、代わりに使用できますtextbox1.Text。実際には何も変わりませんが、構文が短くなる可能性があります。

最後のオプションは、テキスト ボックスのテキストが変更されたときに更新する文字列を持つことです。

private string myText;
public Form1()
{
    InitializeComponent();

    textbox1.TextChanged += (_, args) => myText = textbox1.Text;
}

これはおそらく技術的にはあなたが尋ねたものに最も近いものですが、私が行うことはお勧めしません. プロパティを使用しても何も得られず、その文字列の値を設定してもテキストボックスの値は設定されません。

于 2012-11-15T18:47:36.443 に答える
0

あなたが何を望んでいるのかははっきりしていないので、ここに私の推測があります:

TextBoxを編集可能にしたくない...

これにTextBoxは、それを支援する 2 つのプロパティがあります。

EnabledReadOnly

Enabledfalse に設定すると、TextBoxがグレー表示され、ユーザーはテキストを変更できなくなります。

true に設定ReadOnlyすると、TextBox はグレー表示されませんが、ユーザーはテキストを変更できなくなります。

于 2012-11-15T18:59:27.177 に答える