4 4 建立多例項工具視窗

2021-08-03 20:31:41 字數 1872 閱讀 7923

visual studio 2015

其他版本

若要了解有關 visual studio 2017 rc 的最新文件,請參閱 visual studio 2017 rc 文件。

您可以程式設計的工具視窗,以便它的多個例項可以同時開啟。 預設情況下,工具視窗可以只有乙個開啟的例項。

當使用多例項工具視窗時,可以顯示在同一時間資訊的多個相關的源。 例如,您可以將多行textbox控制項的多例項工具視窗中,以便在程式設計會話期間幾個**段是同時使用。 此外例如中,您可以將datagrid控制和下拉列表框中的多例項工具視窗中,以便可以同時跟蹤幾個實時資料來源。

建立乙個名為專案multiinstancetoolwindow使用 vsix 模板,並將新增乙個名為的自定義工具視窗項模板mitoolwindow。

有關使用乙個工具視窗建立擴充套件的詳細資訊,請參閱使用乙個工具視窗建立擴充套件。

開啟mitoolwindowpackage.cs檔案並查詢providetoolwindow屬性。 與multiinstances=true引數,如下面的示例中所示。c#

[packageregistration(usemanagedresourcesonly = true)]  

[installedproductregistration("#110", "#112", "1.0", iconresourceid = 400)] // info on this package for help/about

[providemenuresource("menus.ctmenu", 1)]

[providetoolwindow(typeof(multiinstancetoolwindow.mitoolwindow), multiinstances = true)]

[guid(mitoolwindowpackageguids.packageguidstring)]

public

sealed

class mitoolwindowpackage : package

在 mitoolwindowcommand.cs 檔案中,找到 showtoolwindos() 方法。 在這種方法,呼叫findtoolwindow方法,並設定其create標記,用於false,以便它將迴圈訪問現有的工具視窗例項之前是可用id找到。

若要建立工具視窗例項,請呼叫findtoolwindow方法,並設定其id為可用的值並將其create標記,用於true

預設情況下,值id引數findtoolwindow方法是0。 這使得單例項工具視窗。 對於要承載的多個例項,每個例項必須具有其自己唯一id

呼叫顯示方法ivswindowframe所返回的物件幀工具視窗例項的屬性。

預設情況下,showtoolwindow由工具視窗項模板建立的方法建立乙個單例項工具視窗。 下面的示例演示如何修改showtoolwindow方法來建立多個例項。c#

private

void showtoolwindow(object sender, eventargs e)

ivswindowframe windowframe = (ivswindowframe)window.frame;

microsoft.visualstudio.errorhandler.throwonfailure(windowframe.show());

break;

} }

}

建立多文件視窗(MDI)

在vb.net建立專案,如果需要建立mdi介面窗體。道德建立乙個sdi介面窗體form1.然後修改該窗體的ismdicontainer屬性值為true,這個該窗體form1就變成了所有窗體的父窗體。有了父窗體後選擇 專案 選單中的 新增windows窗體 項,新建乙個窗體form2,作為子窗體 在f...

centos7 Mariadb建立多例項

為了對mycat做實驗,於是建立多例項mariadb,做以下筆記 建立多例項資料庫資料夾 root linux node1 mkdir home multimysql root linux node1 mkdir home multimysql root linux node1 mkdir home...

mysql 單伺服器建立多例項

mysql單伺服器啟動多個例項實際有兩種方式 第一種方式就是使用mysql mysqld multi 第二種方式就是分別使用不同的目錄埠啟動不同的例項 第一種方式 1 資料庫例項目錄 data3306 data3307 data3308 2 建立例項 usr local mysql scripts ...