-4

私のフォームには、ランダムな文字列を生成する関数があります。この関数の結果をメッセージ ボックスとテキスト ボックスの両方に同時に表示したいと考えています。方法?関数はパブリックにする必要がありますか、それともプライベートにする必要がありますか?

これが私の機能です:

    public string GenerateRandomCode(int myLength)
    {
        string charPool = "ABCDEFGOPQRSTUVWXY1234567890ZabcdefghijklmHIJKLMNnopqrstuvwxyz";

        StringBuilder rs = new StringBuilder();

        Random random = new Random();
        for (int i = 0; i < myLength; i++)
        {
            rs.Append(charPool[(int)(random.NextDouble() * charPool.Length)]);
        }

        return rs.ToString();
    }
4

2 に答える 2

2

私が理解したことから、テキストボックスのテキストに の結果をGenerateRandomCode表示し、その値を にも表示する必要がありMessageBoxます。次のようにできます。

int length = 10;
string msg;



private void button1_Click(object sender, EventArgs e)
{
    msg = GenerateRandomCode(length);
    textBox1.Text = msg;
    MessageBox.Show(msg);

}

Random random = new Random();

public string GenerateRandomCode(int length)
{
        string charPool = "ABCDEFGOPQRSTUVWXY1234567890ZabcdefghijklmHIJKLMNnopqrstuvwxyz";
        StringBuilder rs = new StringBuilder();
        /*Random random = new Random();*/

        for (int i = 0; i < length; i++)
        {
            rs.Append(charPool[(int)(random.NextDouble() * charPool.Length)]);
        }
        return rs.ToString();
 }
于 2013-07-13T01:55:29.657 に答える
0

私が理解しているように、メッセージボックスとテキストボックスに表示したいのです。に表示するには、メソッドを呼び出して、次のようMessageBoxに戻り値を に渡します。MessageBox

string Result = GenerateRandomCode(6);
MessageBox(Result);

それを表示するにはTextBox、フォーム上に作成して(使用しているフォームの種類がわかりません)、Resultそれに割り当てるだけです:

TextBox textResult = new TextBox();
textResult.Text = Result;

Privateメソッドは、そのメソッドを所有するクラスによってのみ呼び出すことができます。それらは、クラスのオブジェクトを作成せずに使用されます。はい (!)Privateメソッドでもすべて実行できます。

于 2013-07-13T01:59:05.923 に答える