通过引用传递的参数无法设置值
本文关键字:设置 参数 引用 | 更新日期: 2023-09-27 18:27:02
我正在开发一款软件,该软件将模拟浏览器登录,并执行一些GET
和POST
请求,服务器有时需要访问用户输入的检查代码。
因此,我制作了一个表单,让用户输入校验码,但当我试图将参数传递到校验码表单中时,它无法将值设置为用户在文本框中输入的值。
这是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#编程指南)