【发布时间】:2010-06-14 22:48:56
【问题描述】:
我在使用此代码时遇到问题,我不知道为什么。它第一次运行良好,但第二次在此行出现“参数无效”错误:
Dim tbx As TextBox = New Windows.Forms.TextBox
完整代码如下:
Dim tbx As TextBox = New Windows.Forms.TextBox
tbx.Name = tbxName
tbx.Size = New System.Drawing.Size(55, 12)
tbx.BorderStyle = BorderStyle.None
tbx.TextAlign = HorizontalAlignment.Center
Using f As Font = tbx.Font
tbx.Font = New Font(f.FontFamily, 8, FontStyle.Bold)
End Using
tbx.Location = New System.Drawing.Point(xCords, 44)
Select Case tbx.Name
Case "tbxBulk01" : tbx.Text = Bulk01Label
Case "tbxBulk02" : tbx.Text = Bulk02Label
End Select
Me.Controls.Add(tbx)
这是堆栈跟踪:
在 System.Drawing.Font.GetHeight(图形图形) 在 System.Drawing.Font.GetHeight() 在 System.Drawing.Font.get_Height() 在 System.Windows.Forms.Control.get_FontHeight() 在 System.Windows.Forms.TextBoxBase.get_PreferredHeight() 在 System.Windows.Forms.TextBoxBase.get_DefaultSize() 在 System.Windows.Forms.Control..ctor(布尔 autoInstallSyncContext) 在 System.Windows.Forms.TextBoxBase..ctor() 在 System.Windows.Forms.TextBox..ctor()
感谢任何帮助。
【问题讨论】:
-
问题似乎出在您发布的 sn-p 周围的代码中。你什么时候第二次打电话?从哪里打电话?
-
在我的主要 form_load 上,我有一个名为 WriteControl 的方法。对于我需要的每个文本框,我调用此方法并传入控件的名称和 xcoords。刚刚删除了我的大部分代码并替换为这个。 WriteControls("picBulk01", "tbxBulk01", 7) WriteControls("picBulk02", "tbxBulk02", 68) 第二次仍然出现同样的错误
-
可能值得一提的是,我也用这种方法创建了一个图片框,但为了清楚起见没有包含代码。该部分似乎工作正常,将创建 2 个图片框。
-
如果您可以发布一个最小的示例来编译并触发错误,这将有所帮助。
-
好的简化版如下。在测试项目中仍然遇到同样的错误。