Дорогой блог!
Сегодня я расскажу тебе о лентах и контекстных вкладках. Лента -- это такая новая панель инструментов, которую придумал Майкрософт и стал использовать в Office 2007. В ней есть категории, вкладки, на вкладках есть группы, в группах есть кнопки и другие штуки и группы кнопок, в которых тоже есть кнопки и другие штуки. Вот, и все это позволяет пользователю легко, и красиво, и свободно делать все, что ему надо. А еще в ленте можно сделать одну большую кнопку с главным меню программы и вставить много-много всяких кнопочек и других шиук в панель быстрого запуска. Лента -- это очень хороший контрол, в который можно поместить все, что надо, только она занимает немножко много места, зато она может быть одна на всю программу.
Вот, а еще в ленту можно прямо во время работы программы вставлять все, что угодно: и вкладки, и группы, и кнопки и все остальное. Например, если пользователь работает со списком входящих сообщений и документов, можно показать вкладку для этого списка, а если он работает с запросами, можно показать ему вкладку для запросов. А сделать это просто :)
1. Надо сначала создать категорию вкладок и наполнить ее вкладками или создать вкладку, но мне больше нравится делать с категориями:
RibbonPageCategory category
= new RibbonPageCategory(categoryName, categoryColor, false);
RibbonPage page = new RibbonPage(pageName);
FillRibbonPage(page);
category.Pages.Add(page);
2. Надо наполнить вкладки группами, кнопками и всем остальным:
public void FillRibbonPage(RibbonPage page)
{
RibbonPageGroup groupBrowse = new RibbonPageGroup("Просмотр");
BarButtonItem btnBrowse = new BarButtonItem();
btnBrowse.Caption = "Просмотр";
btnBrowse.LargeGlyph = Resources.box_view;
btnBrowse.LargeWidth = 85;
btnBrowse.Name = "btnBrowse";
btnBrowse.RibbonStyle = RibbonItemStyles.Large;
btnBrowse.ItemClick += new ItemClickEventHandler(btnBrowse_ItemClick);
groupBrowse.ItemLinks.Add(btnBrowse);
page.Groups.Add(groupBrowse);
}
3. А потом надо управлять видимостью категории или вкладки:
private void OnSmartPartActivated(object sender, WorkspaceEventArgs e)
{
category.Visible = (e.SmartPart is MySmartPart);
}
private void OnSmartPartClosing(object sender, WorkspaceCancelEventArgs e)
{
if (e.SmartPart is MySmartPart)
category.Visible = false;
}
Дорогоуважаемые программисты! Используйте ленты и прочие инструменты на здоровье! У меня ленты от DevExpress.
До скорых встреч!
2 комментария:
угу:) седня материли как раз эти твои ленты:)
инна :-Р матерятся там, где соображалки не хватает
Отправить комментарий