using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyNotepad
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void toolStripMenuItem3_Click(object sender, EventArgs e)
{
fontDialog1.Font = richTextBox1.Font;
//没有在这里调用fontDialog1.ShowDialog()方法,
//怎么点击事件toolStripMenuItem3_Click会弹出fontDialog1窗体呢
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.Font = fontDialog1.Font;
}
}
}
}
问题1:没有在这里调用fontDialog1.ShowDialog()方法,怎么点击该事件toolStripMenuItem3_Click会弹出字体窗体的呢?
问题2:而且我尝试过弹出fontDialog1窗体与
if (fontDialog1.ShowDialog() == DialogResult.OK)代码有关,但是我就不明白,我们的窗体fontDialog1都没生成来如何判断fontDialog1.ShowDialog() 它是true还是false,总之我想问的是我们如何判断语句
(fontDialog1.ShowDialog() == DialogResult.OK)是true还是false
问题3:请问这段代码什么意思啊DialogResult.OK
程序的界面如下
if (fontDialog1.ShowDialog() == DialogResult.OK)這 就是調用,並且帶返回數值的。
上面的代碼,是以模式窗體顯示fontDialog1,並且停止執行。
直到你關閉fontDialog1,
關閉后判斷 DialogResult.OK是否相等。
就是這個代碼,包括2部份,第一是 顯示fontDialog1,第二是 關閉后執行的代碼。
fontDialog1.ShowDialog()你可以查一下,返回類型 就是DialogResult,上面的代碼表示,是否點擊ok。如果是,就執行條件里的語句。
不好意思,我比较笨:我不是很明白你的意思
【if (fontDialog1.ShowDialog() == DialogResult.OK)這 就是調用,並且帶返回數值的。】这不是一个判断语句吗,他的结果不是只有true和false吗?
怎么成了方法调用函数了?
而且fontDialog1没有调用 ShowDialog() 方法,那么判断语句中的fontDialog1.ShowDialog() 的值应该是false,而DialogResult.OK是true啊(当我点击DialogResult.OK对应控件就为true),那总得来说一个是true而一个是false那么判断条件
if (fontDialog1.ShowDialog() == DialogResult.OK)是false啊,则方法中的赋值语句richTextBox1.Font = fontDialog1.Font;永远不能执行才对??
@黑夜猫头鹰: fontDialog1.ShowDialog()就是調用,並且 返回數值。然後 判斷返回數值是否是ialogResult.OK。fontDialog1.ShowDialog()的返回數值,就是你是否點擊了ok。或則其他的。
@無限遐想: 谢谢了,我明白了,
是我对if语句,理解不透,我以前学习的是不执行if (fontDialog1.ShowDialog() == DialogResult.OK)时要执行其中的表达式,以前我以为都是直接用的,例如
static void Main(string[] args)
{
int a = 3;
if ( a == 8)
{
int d;
d = a + 3;
Console.WriteLine(d);
}
不知道原来是要执行其中的判断条件的
现在终于明白,谢谢了。
“我们的窗体fontDialog1都没生成来如何判断fontDialog1.ShowDialog() 它是true还是false,同样的还有DialogResult.OK它是true还是false”
在这个窗体fontDialog1中确定按钮中写 this.DialogResult = DialogResult.OK;不就有值了吗。
大哥,(在这个窗体fontDialog1中确定按钮中写 this.DialogResult = DialogResult.OK;不就有值了吗。)重点是不用写这句话就可以编程啊
@黑夜猫头鹰: richTextBox1.Font = fontDialog1.Font;这个回传值能得到吗??????????
@黑夜猫头鹰: 用那一句话的重点就是可以回传值。richTextBox1.Font = fontDialog1.Font
@荒野的呼唤: 我知道可以回传值啊,但是我想问的是:怎么会弹出 fontDialog1 窗体啊,你就告诉我呗,别兜圈子了大哥
@黑夜猫头鹰: 因为执行了if (fontDialog1.ShowDialog() == DialogResult.OK)这一句,但是第一次执行的时候,fontDialog1.ShowDialog() 不等于 DialogResult.OK,就没有执行下面的,弹出了窗体fontDialog1.ShowDialog() 。
@荒野的呼唤: 谢谢了,我终于知道为什么了,是我对if语句,理解不透,我以前学习的是不执行if (fontDialog1.ShowDialog() == DialogResult.OK)时要执行其中的表达式,以前我以为都是直接用的,例如
static void Main(string[] args)
{
int a = 3;
if ( a == 8)
{
int d;
d = a + 3;
Console.WriteLine(d);
}
不知道原来是要执行其中的判断条件的
现在终于明白,谢谢了。
fontDialog1.ShowDialog()这一句就是表示调用fontDialog1的ShowDialog方法了,而且返回值是true,当然会弹出fontDialog1的窗口。“DialogResult.OK”表示返回值是否为true,是的话就执行下面你的赋值语句了。
我是一个初学者,请大家多多提意见,带我学习。谢谢!
谢谢,辛苦了