[英]Converting line of code from VB to C#
我正在嘗試將代碼塊從VB轉換為C#,但是遇到了帶有一行代碼的問題。
VB代碼:
Dim tsAV As System.Windows.Forms.ToolStrip =
CType(objHost.FormMain.Controls("tsMain"), Windows.Forms.ToolStrip)
我在C#中擁有的代碼:
System.Windows.Forms.ToolStrip tsAV =
(System.Windows.Forms.ToolStrip)objHost.FormMain;
我的問題來自FormMain方法。 當我使用VB代碼時,我可以獲取Controls方法,但在C#中,我無法。 我使用相同的接口DLL包含了兩種方法。
難道我做錯了什么? DLL是否可能包含僅在VB中起作用的某些內容?
您應該可以將其用作您的C#代碼:
// using System.Windows.Forms;
ToolStrip tsAV = (ToolStrip)objHost.FormMain().Controls["tsMain"];
^^^^^^^^^^^^^^^^^^^
在您的示例中,您嘗試將Form
ToolStrip
為ToolStrip
,但這是行不通的。
如果您嘗試以ac#格式檢索ToolStrip,則可以使用以下代碼。 這假定ToolStrip名稱為“ tsAV”,並且您正在從FormMain
一個方法(可能是主窗體的類名)中執行此代碼。
using System.Windows.Forms;
...
ToolStrip tsAV = (ToolStrip)Controls["tsMain"];
在表單外部,可以使用以下代碼找到ToolStrip:
using System.Windows.Forms;
...
FormMain form = new FormMain();
ToolStrip tsAV = (ToolStrip)form.Controls["tsMain"];
更新:假設objHost
是排序的控制器,並且FormMain
是返回表單實例而不是類名稱的字段或屬性名稱,則可以使用以下命令:
using System.Windows.Forms;
...
ToolStrip tsAV = (ToolStrip)objHost.FormMain.Controls["tsMain"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.