将另一种形式的标签字体调小



我使用两个forms,当我点击第一个form FormSales按钮时,我想在publicform FormNumberpadlabel上显示fontsize减少的text"非库存价格"。我的代码是,

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 

字体大小不减小,我怎么能做到这一点?

这里

Dim numberpad As New FormNumberPad
numberpad.ShowDialog()

你正在创建一个FormNumberPad的新实例,这个实例用ShowDialog()显示。
ShowDialog是模态的,这意味着它不会返回,直到你关闭显示的窗体。
此时,你的标签(仍然存在于内存中)是隐藏的,你看不到任何变化。

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

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

这是因为你使用的是'New' FormNumberPad,更改FormNumberPad.ShowDialog()

最新更新