Практическое руководство. Управление списком задач
Обновлен: Ноябрь 2007
Списком задач и его содержимым можно управлять при помощи автоматизации. В модели автоматизации Visual Studio список задач представлен следующими объектами и коллекциями:
Имя объекта |
Описание |
---|---|
Объект TaskList |
Представляет Список задач. |
Коллекция TaskItems |
Представляет все задачи в Списке задач. |
Объект TaskItem |
Предоставляет отдельную задачу в Списке задач. |
Объект TaskListEvents |
Позволяет реагировать на события, происходящие в Списке задач. |
Использование этих объектов и коллекций дает возможность:
Создавать задачи и добавлять их в Список задач (метод Add) или удалять их из Списка задач (метод Delete).
Получать элементы, находящиеся в Списке задач (метод Select).
Отображать документ, связанный с задачей (метод Navigate).
Выбирать задачу (метод Select).
Реагировать при добавлении, удалении, изменении или выборе задачи (события TaskAdded, TaskRemoved, TaskModified и TaskNavigated).
Управлять можно не только содержимым Списка задач, но и такими его характеристиками, как ширина и высота. Дополнительные сведения см. в разделе Практическое руководство. Изменение параметров окон.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Эти процедуры были разработаны с обычными параметрами разработки. Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Пример
В следующем примере надстройки показано, как использовать различные члены модели автоматизации Списка задач и ссылаться на них. В этом примере в Список задач добавляются две новые задачи, выводится список номеров задач, а затем одна из задач удаляется. Перед запуском этого примера необходимо в меню Вид выбрать Список задач.
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);
}
См. также
Задачи
Практическое руководство. Изменение параметров окон
Практическое руководство. Создание надстройки
Пошаговое руководство. Создание мастера
Основные понятия
Диаграмма модели объектов автоматизации