通过引用传递的参数无法设置值

本文关键字:设置 参数 引用 | 更新日期: 2023-09-27 18:27:02

我正在开发一款软件,该软件将模拟浏览器登录,并执行一些GETPOST请求,服务器有时需要访问用户输入的检查代码。

因此,我制作了一个表单,让用户输入校验码,但当我试图将参数传递到校验码表单中时,它无法将值设置为用户在文本框中输入的值。

这是CheckcodeForm.cs 的代码

public partial class CheckcodeForm : Form
{
    public string pic_url;
    public string ck;
    public CheckcodeForm()
    {
        InitializeComponent();
    }
    public CheckcodeForm(string _ck,string pic_url)
    {
        InitializeComponent();
        this.pic_url = pic_url;
        this.ck = _ck;
        pictureBox1.ImageLocation = pic_url;      
    }
    private void pictureBox1_Click(object sender, EventArgs e)
    {
        this.pictureBox1.ImageLocation = pic_url;
    }
    private void button1_Click(object sender, EventArgs e)
    {
        this.ck = this.textBox1.Text;
        this.Hide();
    }
}

这是新的CheckcodeForm部分:

string _check_code = "0000";
new CheckcodeForm(_check_code,checkcodePicUrl).ShowDialog();                       
MessageBox.Show(_check_code);

为什么我总是收到0000的消息框?

通过引用传递的参数无法设置值

您正在将文本框值分配给表单中的ck字段,因此从中获取:

string _check_code = "0000";
var checkcodeForm = new CheckcodeForm(_check_code,checkcodePicUrl).ShowDialog(); 
MessageBox.Show(checkcodeForm.ck);

顺便说一句,您是通过值传递参数,而不是通过引用。检查通过参数(C#编程指南)