我发表了一篇关于在文本框中检测粘贴事件的帖子,并被定向到带有执行此操作的代码的某个地方。我让它工作了,但它要求我从 Program.cs 主事件创建自己的文本框控件。这是代码:
var txtNum = new MyTextBox();
txtNum.Pasted += (sender, args) => MessageBox.Show("Pasted: " + args.ClipboardText);
txtNum.Size = new System.Drawing.Size(578, 20);
txtNum.Location = new System.Drawing.Point(12, 30);
var form = new Form1();
form.Controls.Add(txtNum);
Application.Run(form);
现在的新问题是,当我尝试处理 txtNum 中的任何内容时,我收到“对象引用未设置为对象的实例”我该如何解决这个问题?这是一个winforms应用程序.net 4.0
错误在这里:
private void button1_Click(object sender, EventArgs e)
{
string s = txtNum.Text; //OBJECT REFERENCE ERROR
string[] numbers = s.Split(' ');
double sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
double num = double.Parse(numbers[i]);
sum += num;
}
lblRESULT.Text = sum.ToString();
if (cp == true)
{
Clipboard.SetText(lblRESULT.Text);
}
}