检测用户是否对FontDialog对象进行了更改

时间:2013-03-03 18:09:31

标签: vb.net dialog

我有一个名为FontDialog的{​​{1}}框。

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

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

enter image description here

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

1 个答案:

答案 0 :(得分:1)

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

如果用户按下OK,我会查看。如果是,请设置新字体,无论它与当前字体的相似程度如何。它只是一行代码 - 就像将旧字体分配给旧字体一样简单:

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

此外,如果字体不同,我认为这是你唯一的方法。这意味着您无法设置Font.Bold = True,因为它是只读的。并且它也不会花费大量的处理时间,所以没有必要优化它。

如果你真的想,你可以在检查FontDialog.Font之后检查DialogResult是否正常,并与你在那里传递的内容进行比较,尽管我没有看到它在哪里有用。