选项严格 off ,所以我现在已打开它。我现在有一些错误,我不确定如何修复:
pnlWait.Top = (Height - pnlWait.Height) / 2
在C#中,我会这样做:
pnlWait.Top = (int)(Height - pnlWait.Height) / 2;
但这在VB中不起作用。我尝试了Decimal.ToInt32
,但之后却抱怨,因为它正在创建一个Double
,并且没有Double.ToInt32
。 Interger.Parse
需要String
,所以这不会有任何好处。
pnlWait.Top = Integer.Parse(((Height - pnlWait.Height) / 2).ToString) 'Yeah, right!
这让我觉得CType
或DirectCast
可能会很好,但这些方法适用于很多对象,所以我认为它们不会有效。
答案 0 :(得分:1)
经过链接发布后,我相信最好的选择是使用VB.Net特定的转换功能。我最初避免他们认为他们是从VB保留,但似乎他们不是。当它提到它们是内联编译时我卖了,所以我将使用CInt和其他人。
除了我的例子,我将使用Plutonix提供的建议。我完全忘了那个。
所以一般情况下我会用
pnlWait.Top = CInt((Height - pnlWait.Height) / 2)
并且
If DR.Item(Mailings.WelcomePacket.SelectToMail) Then
变为
If CBool(DR.Item(Mailings.WelcomePacket.SelectToMail)) Then
除
pnlWait.Top = (Height - pnlWait.Height) \ 2
更干净。
答案 1 :(得分:0)
pnlWait.Top = Convert.ToInt32((Me.Height - pnlWait.Height) / 2)