如何使用函数的结果显示在消息框中并同时在文本框中设置?我使用公共或私人功能吗?

时间:2013-07-13 01:49:38

标签: c# visual-c#-express-2010

我的表单中有一个生成随机字符串的函数。我想同时在消息框和文本框中显示此函数的结果。如何?我的职能应该是公开的还是私人的?

这是我的功能:

    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();
    }

2 个答案:

答案 0 :(得分: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();
 }

答案 1 :(得分:0)

据我了解,您希望在消息框和文本框中显示它。 要在MessageBox中显示,您将调用该方法并将返回的值传递给MessageBox,如下所示:

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

要在TextBox中显示它,您只需在表单上创建它(我不知道您使用的是哪种表单)并为其指定Result

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

Private方法只能由拥有该方法的类调用。它们在不创建类的对象的情况下使用。是(!)您也可以使用Private方法完成所有操作。