方法 : タスク一覧を制御する
[タスク一覧] とその内容は、オートメーションを使用して制御できます。これは、Visual Studio オートメーション モデルにおいて、次のオブジェクトおよびコレクションによって表されます。
オブジェクト名 |
Description |
---|---|
TaskList オブジェクト |
[タスク一覧] を表します。 |
TaskItems コレクション |
[タスク一覧] にあるすべてのタスクを表します。 |
TaskItem オブジェクト |
[タスク一覧] にある単一のタスクを表します。 |
TaskListEvents オブジェクト |
[タスク一覧] で発生したイベントに応答できます。 |
これらのオブジェクトとコレクションを使用して、次の操作を行うことができます。
タスク項目を作成し [タスク一覧] に追加します (Add メソッド)。または、[タスク一覧] からタスク項目を削除します (Delete メソッド)。
現在 [タスク一覧] に存在する項目を取得します (Select メソッド)。
タスク項目に関連付けられたドキュメントを表示します (Navigate メソッド)。
タスク項目を選択します (Select メソッド)。
タスク項目が追加、削除、変更、または選択された場合に応答します (TaskAdded、TaskRemoved、TaskModified、および TaskNavigated の各イベント)。
[タスク一覧] の内容を制御するだけでなく、幅や高さなどの [タスク一覧] の特性も制御できます。詳細については、「方法 : ウィンドウの特性を変更する」を参照してください。
[!メモ]
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。
使用例
次のアドインの例は、タスク一覧オートメーション モデルのさまざまなメンバーを参照および使用する方法を示しています。この例では、[タスク一覧] に新しいタスクを追加して、タスク数を表示します。次に、タスクを 1 つ削除します。この例を実行する前に、[表示] メニューの [タスク一覧] を選択します。タスクは [アドインとマクロ] カテゴリに表示されます。
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
' Pass the applicationObject member variable to the code example.
TaskListExample(_applicationObject)
End Sub
Sub TaskListExample(ByVal dte As DTE2)
Dim tl As TaskList = dte.ToolWindows.TaskList
Dim tlItem As TaskItem
' Add a couple of tasks to the Task List.
tlItem = tl.TaskItems.Add(" ", " ", "Test task 1.", _
vsTaskPriority.vsTaskPriorityHigh, vsTaskIcon.vsTaskIconUser, _
True, , 10, , )
tlItem = tl.TaskItems.Add(" ", " ", "Test task 2.", _
vsTaskPriority.vsTaskPriorityLow, vsTaskIcon.vsTaskIconComment, _
, , 20, , )
' List the total number of task list items after adding the new
' task items.
MsgBox("Task Item 1 description: " & _
tl.TaskItems.Item(2).Description)
MsgBox("Total number of task items: " & tl.TaskItems.Count)
' Remove the second task item. The items list in reverse numeric
' order.
MsgBox("Deleting the second task item")
tl.TaskItems.Item(2).Delete()
MsgBox("Total number of task items: " & tl.TaskItems.Count)
End Sub
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
TaskListExample(_applicationObject);
}
public void TaskListExample(DTE2 dte)
{
TaskList tl = (TaskList)dte.ToolWindows.TaskList;
TaskItem tlItem;
// Add a couple of tasks to the Task List.
tlItem = tl.TaskItems.Add(" ", " ", "Test task 1.",
vsTaskPriority.vsTaskPriorityHigh, vsTaskIcon.vsTaskIconUser,
true, "", 10, true, true);
tlItem = tl.TaskItems.Add(" ", " ", "Test task 2.",
vsTaskPriority.vsTaskPriorityLow, vsTaskIcon.vsTaskIconComment,
true, "", 20, true,true);
// List the total number of task list items after adding the new
// task items.
System.Windows.Forms.MessageBox.Show("Task Item 1 description:
"+tl.TaskItems.Item(2).Description);
System.Windows.Forms.MessageBox.Show("Total number of task items:
"+tl.TaskItems.Count);
// Remove the second task item. The items list in reverse numeric
// order.
System.Windows.Forms.MessageBox.Show("Deleting the second task
item");
tl.TaskItems.Item(2).Delete();
System.Windows.Forms.MessageBox.Show("Total number of task items:
"+tl.TaskItems.Count);
}