WinForm如何控制ShowDialog()的返回值

红帽小小 2010-02-08 10:36:49
我做了个有“确定”和“取消”按钮的WinForm
它ShowDialog()后如何做到:
点“确定”返回DialogResult.OK
点“取消”返回DialogResult.Cancel
...全文
1771 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nmjngjn1983 2010-02-08
  • 打赏
  • 举报
回复
你得父界面:
TextDialog textD = new TextDialog();
while (true)
{
textD.ShowDialog();
if (textD.DialogResult == DialogResult.OK)
{
if (!string.IsNullOrEmpty(ur—Check))
{
break;
}
else
{
MessageBox.Show("Message.");
}
}
else if(textD.DialogResult == DialogResult.Cancel)
{
return;
}
}
对话框:
public partial class TextDialog : Form
{
public string NodeName
{
get
{
return textBox1.Text;
}
set
{
value = textBox1.Text;
}
}

public TextDialog()
{
InitializeComponent();
button1.DialogResult = DialogResult.OK;
button2.DialogResult = DialogResult.Cancel;
}


}
LoveLife_Go 2010-02-08
  • 打赏
  • 举报
回复
if (dlg.ShowDialog() == DialogResult.OK)
{
}

确定
this.DialogResult=DialogResult.OK;

取消
this.DialogResult=DialogResult.Cancel;
xray2005 2010-02-08
  • 打赏
  • 举报
回复
protected void btnOk_Click(object sender,EventArgs e)
{
this.DialogResult=DialogResult.OK;

}
protected void btnCancel_Click(object sender,EventArgs e)
{
this.DialogResult=DialogResult.Cancel;
}
wuhaiwuya 2010-02-08
  • 打赏
  • 举报
回复
呵呵。设置dialog的返回的枚举值就可以
JOCLI 2010-02-08
  • 打赏
  • 举报
回复
button钮有属性 DialogResult
将“确定”钮设为 "OK"
“取消”钮设为"Cancel"就好

Form上有 AcceptButton 属性,设为 "确定" 钮
CancelButton 属性,设为"取消"钮
zenjj 2010-02-08
  • 打赏
  • 举报
回复
帮顶
lovelan1748 2010-02-08
  • 打赏
  • 举报
回复
Form做的你自己设置一个变量就行了
LYM_MEIMEI 2010-02-08
  • 打赏
  • 举报
回复
你想问的是?
h_w_king 2010-02-08
  • 打赏
  • 举报
回复
点“确定
this.DialogResult=DialogResult.OK;

点“取消”
this.DialogResult=DialogResult.Cancel
这是一个比较复杂的数据库 包含图书管理 借书还书 学生管理 老师管理 和数据连接的相关应用 代码有详细的解释 压缩包里面也有 数据库的文件 代码里设置的数据库 用户是 sa 密码是 123456 请使用的时候做相关的修改 下面给出 一部分的代码 请继续关注本资源的发布 会后面有很多实用的代码上传 using System.Windows.Forms; namespace LibraryMis { public class DatabaseAccess { /* 声明成员变量,这样这个类中的所有方法就可是使用这些变量了 */ private SqlConnection myConnection; private SqlCommand myCommand; private SqlDataAdapter myDataAdapter; private DataSet mySet = new DataSet(); /* 写该类的构造方法,该方法名要跟类名相同,无返回值 * 当new这个类时就会执行这个构造方法 */ public DatabaseAccess() { /* 获得保存连接字符串的文件名及路径 */ //获得应用程序路径 string exePath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; //根据路径和文件名构建FileInfo对象 string fileName = exePath + "connectionString.txt"; //建立FileInfo对象 FileInfo f = new FileInfo(fileName); //判断该文件是否存在 if (f.Exists)//文件存在 { //获得文件内容即存在文件中的连接字符串 //打开文件,获得读文件的数据流对象 StreamReader sr = f.OpenText(); //读文件到变量中 string connectionString = sr.ReadToEnd(); //关闭流 sr.Close(); //由读出的连接字符串创建Connection对象 myConnection = new SqlConnection(connectionString); //由Connection对象创建Command对象 myCommand = myConnection.CreateCommand(); //创建DataAdapter对象 myDataAdapter = new SqlDataAdapter(); myDataAdapter.SelectCommand = myCommand; //创建CommandBuilder对象 SqlCommandBuilder cb = new SqlCommandBuilder(myDataAdapter); //尝试是否能够打开连接 try { myConnection.Open(); } catch (Exception ex) //打开连接出错,可能是连接字符串有问题,这里调用数据库访问设置窗体来重新设置服务器名和数据库名 { MessageBox.Show("连接不到数据库LibraryMis,请在“数据库访问设置窗体中对数据库访问进行正确的设置”" + ",取消登录后重新启动图书馆管理系统!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning ); //创建 数据库访问设置窗体,并显示 FormSetDatabase fmsd = new FormSetDatabase(); fmsd.ShowDialog(); } finally { try { myConnection.Close(); } catch (Exception ex) { } } return; } else //文件不存在 { //设置默认的连接字符串 string connectionString = "server=.;database=LibraryMis;uid=sa;pwd=123456"; //把这个字符串写入文件 StreamWriter sw = new StreamWriter(fileName); sw.Write(connectionString); sw.Close(); MessageBox.Show("文件" + fileName + "不存在,已创建该文件,请重新启动图书馆管理系统","警告",MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } /*创建查询的方法,返回数据集对象DataSet,参数SelectString表示查询的Sql语句,TableName表示要查询的表名*/ public DataSet FillDataSet(string SelectString, string TableName) { myDataAdapter.SelectCommand.CommandText = SelectString;//设置查询的Sql语句 myDataAdapter.Fill(mySet,TableName); return mySet; } /*执行插入,更新,修改的操作,参数CommandString表示Sql语句*/ public void ExeCommand(string CommandString) { myCommand.CommandText = CommandString; myConnection.Open(); try { myCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString(),"警告",MessageBoxButtons.OK,MessageBoxIcon.Warning); } finally { myConnection.Close(); } } /*执行存储过程的方法,参数为Command对象*/ public void ExeStoreProcedure(SqlCommand command) { command.Connection = myConnection; myCommand = command; myConnection.Open(); try { myCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { myConnection.Close(); } }

110,538

社区成员

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

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

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