2013-03-28 59 views
1

我用两个forms,当我在第一formFormSales点击该按钮,我想在publicformlabel显示text“非库存价格”与减少fontsizeFormNumberpad。我的代码,使标签的字体大小的另一种形式小

Private Sub btnItemNonTaxable_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
            Handles btnItemNonTaxable.Click 
    chktax1.Checked = False 
    _AmountTitle = "Non Inventory Taxable Price" 
    Dim fnt as Font 
    fnt = FormNumberPad.lblTitle.Font 
    FormNumberPad.lblTitle.Font = New Font(fnt.Name, 12, FontStyle.Bold) 
    Dim numberpad As New FormNumberPad 
    numberpad.ShowDialog() 

    .............. 
    .............. 
End Sub 

字体大小没有得到减少,我怎么能做到这一点?

回答

3

这里

Dim numberpad As New FormNumberPad 
numberpad.ShowDialog() 

要创建FormNumberPad的新实例,该行及以下,这种情况下显示为具有的ShowDialog( )。
ShowDialog是模态的,这意味着它不会返回,直到您关闭显示的窗体。
此时,您的标签(仍然存在于内存中)被隐藏,您看不到任何更改。

您可以尝试在显示对话框之前更改标签,但在表单的当前实例(数字键盘)上,而不是在对话框的类定义FormNumberPad上。

Dim numberpad As New FormNumberPad 
fnt = numberpad .lblTitle.Font 
numberpad.lblTitle.Font = New Font(fnt.Name, 12, FontStyle.Bold) 
numberpad.ShowDialog() 
+0

如果你想在运行时改变字体,这是最好的方法。 –

+0

非常感谢它! –

1

这是因为你使用的是“新” FormNumberPad,改变与FormNumberPad.ShowDialog()

+0

非常感谢,它的工作原理! –