VB.NET form.show()错误
每次使用时:VB.NET form.show()错误,vb.net,forms,show,Vb.net,Forms,Show,每次使用时: form1.show() 我获得对非共享成员的引用需要对象引用。 到现在为止还有效,我不知道有什么问题 此外,它甚至不显示在“启动窗体”下拉菜单中 编辑:包含整个代码 Private _cpuid As String ///Here is the generated constructor Sub New() ' TODO: Complete member initialization End Sub Public ReadO
form1.show()
我获得对非共享成员的引用需要对象引用。
到现在为止还有效,我不知道有什么问题
此外,它甚至不显示在“启动窗体”下拉菜单中
编辑:包含整个代码
Private _cpuid As String
///Here is the generated constructor
Sub New()
' TODO: Complete member initialization
End Sub
Public ReadOnly Property cpuid As String
Get
Return _cpuid
End Get
End Property
Private _pc As PerformanceCounter
Private _currentvalue As Integer = 0
Public Sub New(ByVal cpuid As String)
InitializeComponent()
_cpuid = cpuid
_pc = New PerformanceCounter("Processes", "CPU Usage (%)", cpuid)
Me.ProgressBar1.Maximum = 100
Me.ProgressBar1.Minimum = 0
Me.Label1.Text = "CPU" & cpuid
End Sub
Public Sub callperformancecounter()
_currentvalue = CInt(_pc.NextValue())
Me.ProgressBar1.Value = _currentvalue
Me.label2.text = _currentvalue & " %"
End Sub
假设项目中有一个名为form1的表单,则需要创建该表单的实例:
Dim frm as New Form1 ' creates the instance the msg is talking about
frm.Show
编辑新信息
您已重写构造函数,但未使用它。我不会这样做,而是在FormLoad事件中执行CPU设置(只需移动代码)。将您的Sub-New修复为此:
Sub New(cpuID As String)
' TODO: Complete member initialization
InitializeComponent() ' the TODO is telling you this is needed
_cpuID = cpuID
End Sub
表单加载将是代码的其余部分:
_pc = New PerformanceCounter("Processes", "CPU Usage (%)", cpuid)
Me.ProgressBar1.Maximum = 100
Me.ProgressBar1.Minimum = 0
Me.Label1.Text = "CPU" & cpuid
如果将cpuid传递给New或设置属性,则不需要将cpuid传递给过程(到目前为止,不需要两种方法)
现在,您要显示表单的方式是:
Dim frm as Form1 ' declare what frm is
frm = New Form1(cpuname) ' this 'NEW' triggers 'Sub New'
frm.Show
这样做了,然后我得到了构造函数错误,这是通过在表单代码中创建一个来修复的。但是现在,当表单加载时,可能没有明显的对象(标签、文本框…),但是您是否在表单设计器中将标签和文本框添加到表单1中?如果您清理并构建项目,然后打开设计器,它们还在吗?您是否在
Form1.Sub New()
中对他们做了什么?请编辑您的帖子以显示Sub New,好吗?下面是我得到的错误1参数未为'Public Sub New(name As String)'的参数'name'指定
。Designer通过在表单中插入构造函数代码来修复它,但调试时不显示控件。尽管它在我编辑表单时显示。请理解,没有代码我(我们)我们闭着眼睛在黑暗中打猎。什么是名称
?它有什么作用?你为什么加上它?请更新您的问题以包括Sub-New
它插入如下代码Sub-New()'TODO:完成成员初始化结束Sub