请教高手--form间的值传递问题

sxkjdxllw0406 2012-04-10 04:16:18
在form1中有几个textbox,当点击form1中的删除按钮时,弹出form2对话框询问是否确认删除,当点击确认时form2关闭,并且form1中textbox的内容全部清空。
如何实现点击form2中的确认按钮时,form1中textbox内容清空?
请赐教!!!
...全文
186 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
DukeSoft 2012-04-10
  • 打赏
  • 举报
回复
好像不需要form2吧?
aa6103848252 2012-04-10
  • 打赏
  • 举报
回复
(Application.OpenForms["form1"] as form1).textbox.Text=null;
//记得把textbox设置为Public
mfkuyg61 2012-04-10
  • 打赏
  • 举报
回复
上面几个都犯了一个错误
DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK) //只有Yes和NO按钮,结果不可能是OK,应该是dr==DialogResult.Yes
{

}
Scottz 2012-04-10
  • 打赏
  • 举报
回复

if(result>0)
{
MessageBox.Show("删除成功");
This.TextBox1.Clear();
}


这里应该是大于0
gxl19911228 2012-04-10
  • 打赏
  • 举报
回复
上面那个客户修改是你那个窗体的名称
gxl19911228 2012-04-10
  • 打赏
  • 举报
回复
那你这样写

form2中这样写

private textbox t;
public 客户修改(textbox _t)
: this()
{
_t = t;
}

在你的事件中写t.text = "";
在父窗体下写如下代码
form2 f = new form2(你的textbox文本框);
f.show();
Scottz 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

因为是MessageBoxButtons.YesNo
所以要写成if(dr==DialogResult.Yes)
[/Quote]
你确定返回的是yes or no?
Scottz 2012-04-10
  • 打赏
  • 举报
回复

public void button2_Click(object sender, EventArgs e)
{
DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK)
{
string connStr = "连接字符串";
int result = 0;
string sql = "delete from 投资方信息表 where 投资方名称 = @Name"
string Name = this.TextBox1.Text.Trim();
sqlparameter parm = new sqlparameter("Name",Name);
using(OleDbConnection conn = new OleDbConnection(connStr);)
{
SqlCommand cmd = new SqlCommand();
SqlCommand.Text = sql;
SqlCommand.Parameters.Add(parm);
SqlCommand.Connection = conn;
SqlCommand.CommandType = CommandType.Text;
result = Convert.ToInt32(cmd.ExecuteNonQuery());
}
if(result>1)
{
MessageBox.Show("删除成功");
This.TextBox1.Clear();
}
else
{
MessageBox.Show("删除失败");
This.TextBox1.Focus();
}
}
}
mizuho_2006 2012-04-10
  • 打赏
  • 举报
回复
因为是MessageBoxButtons.YesNo
所以要写成if(dr==DialogResult.Yes)
mizuho_2006 2012-04-10
  • 打赏
  • 举报
回复
连接字符串有没有问题?
设置断点跟一下,看看那步有问题
cmd.ExecuteNonQuery(); 返回值是多少?如果为0就是没有删除掉任何记录
是不是你文本框的条件在数据库里就没有对应的记录?
sxkjdxllw0406 2012-04-10
  • 打赏
  • 举报
回复
我这样写,好像不行,数据库中的内容删除不了,textbox中的内容也无法清空,这是怎么回事
sxkjdxllw0406 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
原来是根据TextBox的值清空数据库啊


C# code

DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK)
{
int i = cmd.ExecuteNonQuery();……
[/Quote]



我这样写可以不:
private void button2_Click(object sender, EventArgs e)
{
DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK)

{
//连接数据库进行删除
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=GuoShuiJu.mdb";
OleDbConnection conn = new OleDbConnection(strConnection);
conn.Open();

OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;

cmd.CommandText = "delete from 投资方信息表 where 投资方名称='" + textBox11.Text.ToString().Trim() + "'";
cmd.ExecuteNonQuery();
conn.Close();


textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = ""; textBox7.Text = ""; textBox8.Text = ""; textBox9.Text = ""; textBox10.Text = "";


}
mizuho_2006 2012-04-10
  • 打赏
  • 举报
回复
原来是根据TextBox的值清空数据库啊


DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK)
{
int i = cmd.ExecuteNonQuery();
if(i>0)
{
MessageBox.Show("删除成功");
textBox11.Text="";
}
}

sxkjdxllw0406 2012-04-10
  • 打赏
  • 举报
回复
怎么没有用呢?这是我的代码:
public void button2_Click(object sender, EventArgs e)
{
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=GuoShuiJu.mdb";
OleDbConnection conn = new OleDbConnection(strConnection);
conn.Open();

OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;

cmd.CommandText = "delete from 投资方信息表 where 投资方名称='" + textBox11.Text.ToString().Trim() + "'";
cmd.ExecuteNonQuery();
conn.Close();
DialogResult dr=MessageBox.Show("确实要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr==DialogResult.OK) { this.textBox11.Text=""; }

}





[Quote=引用 3 楼 的回复:]
有必要用form2吗,直接messagebox就可以了。


C# code

DialogResult dr = MessageBox.Show("确实要删除吗","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (dr == DialogResult.OK)
……
[/Quote]
mingcsharp 2012-04-10
  • 打赏
  • 举报
回复
搞成公共的,私的不行,
sxkjdxllw0406 2012-04-10
  • 打赏
  • 举报
回复
没有用,怎么办?form1中的内容还是没有清空?[Quote=引用 2 楼 的回复:]
C# code


Form2 frm = new Form2();
if (frm.DialogResult == DialogResult.OK)
{
this.textBox1.Text = "";
}
[/Quote]
threenewbee 2012-04-10
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110407/19/c1068d69-7331-4d02-bc0b-f5ba7a5f8dd8.html
想念旧时光 2012-04-10
  • 打赏
  • 举报
回复
为什么一定要弹出from2窗体呢
mizuho_2006 2012-04-10
  • 打赏
  • 举报
回复
写错了
操作应该是
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";

如果是布尔值可以写成一句
mizuho_2006 2012-04-10
  • 打赏
  • 举报
回复
有必要用form2吗,直接messagebox就可以了。


DialogResult dr = MessageBox.Show("确实要删除吗","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (dr == DialogResult.OK)
{
textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = "";

}
加载更多回复(2)

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧