2

我有一个FontDialog盒子叫aFontDialog.

我可以检测到对此对话框所做的更改吗?

最初我的对象使用此代码创建对话框aFontDialog.ShowDialog,然后用户进行更改,然后如果用户对他们的更改感到满意,那么应用程序将收到Windows.Forms.DialogResult.OK

在此处输入图像描述

是否可以检测到用户对此对话框所做的任何更改?我是否需要在之前记录对话框不同方面的状态,然后比较它们之后的状态 - 或者此对话框中是否有一些属性或方法可以帮助我找到任何更改?

4

1 回答 1

1

这里最重要的问题是——为什么你需要知道这些变化。请看,字体通常不是事务对象,因此您通常不需要避免过多的网络流量或最小化数据库往返次数。

我只想看看用户是否按下了确定。如果是,请设置新字体,无论它与您当前的字体有多么相似。这只是一行代码 - 就像将这种新字体分配给旧字体一样简单:

Me.Font = MyFontDialog.Font 'Me could be any control in this case

此外,如果字体不同,我认为这是您唯一的方法。这意味着您不能例如 set Font.Bold = True,因为它是只读的。而且它也不会花费很多处理时间,所以优化它没有意义。

如果你真的想要,你可以在检查 OKFontDialog.Font后检查DialogResult,并与你在那里传递的内容进行比较,尽管我不知道这在哪里会有用。

于 2013-03-08T02:57:50.783 回答