webbrowser控件使用_panel有什么作用_dialogresult.ok

电脑杂谈  发布时间:2017-02-13 00:59:59  来源:网络整理

dialogresult.ok_webbrowser控件使用_panel有什么作用

为了让用户与应用程序交互,用户必须能看到窗体。利用Show和ShowDialog方法就可以实现这一点。Show方法仅使窗体对用户可见。这是很简单的。但它的一个缺点是没有给调用代码发送任何通知,说明调用的窗体已处理完,并退出。有时这不重要,Show方法工作的很好。如果需要提供某种通知,使用ShowDialog方法是一种比较好的选择。

在调用Show方法后,Show方法后面的代码会立即执行。在调用ShowDialog方法后,调用代码被暂停执行,等到调用ShowDialog方法的窗体关闭后再继续执行。不仅调用代码被暂停执行,而且窗体也可以返回一个DialogResult值。dialogresult.okDialogResult枚举是一组标识符,它们描述了对话框关闭的原因,包括OK,Cancel,Yes,No和其他几个标识符。为了让窗体返回一个DialogResult值,必须设置窗体的DialogResult属性,或者在窗体的一个按钮上设置DialogResult属性。

例如,假定应用程序的一部分要求提供客户的电话号码。窗体包含一个输入电话号码的文本框,和两个按钮OK和Cancel。如果把OK按钮的DialogResult属性设置为DialogResult.OK,把Cancel按钮的DialogResult属性设置为DialogResult.Cancel,则在选择其中一个按钮时,窗体就会不可见,并给调用它的窗体返回相应的DialogResult值。现在注意窗体没有释放,只是把Visible属性设置为false。这是因为仍必须从窗体中获取值。在这个示例中,我们需要电话号码。在窗体上为电话号码创建一个属性,这样父窗体就可以获取值,并调用窗体上的Close方法了。下面是子窗体的代码:

[code=csharp]namespace ChildForm

{

public partial class Phone : Form

{

public Phone()

{

InitializeComponent();

btnOK.DialogResult = DialogResult.OK;

btnCancel.DialogResult = DialogResult.Cancel;

}

public string PhoneNumber

{

get

{

return txtPhone.Text;

}

set

{

panel有什么作用_webbrowser控件使用_dialogresult.ok

txtPhone.Text = value;

}

}

}

}[/code]

首先要注意,不包含处理按钮的单击事件的代码。因为设置了每个按钮的DialogResult属性,所以在单击OK和Cancel按钮后,窗体就消失了。添加的唯一属性时PhoneNumber。下面的代码显示了父窗体中调用Phone对话框的方法:

[code=csharp]Phone frm = new Phone();

frm.ShowDialog();

if (frm.DialogResult == DialogResult.OK)

{

label1.Text = "Phone number is " + frm.PhoneNumber;

}

else if (frm.DialogResult == DialogResult.Cancel)

{

label1.Text = "Form was canceled.";

}

frm.Close();[/code]

这看起来非常简单。创建新的Phone对象frm,在调用frm.ShowDialog()方法时,这个方法中的代码会停止执行,等待Phone窗体返回。接着检查Phone窗体的DialogResult属性。dialogresult.ok由于窗体还未释放,是不可见的,所以仍可以访问公共属性,其中一个公共属性就是PhoneNumber.一旦获取了需要的数据,就可以调用窗体的Close方法。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32085-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 张金刚
      张金刚

      那苏联人死两千万人

      • 刘香慧
        刘香慧

        我们会做一个合格的对手

    热点图片
    拼命载入中...