扩展状态栏

您所在的位置:网站首页 动画状态栏 扩展状态栏

扩展状态栏

2024-06-20 16:45| 来源: 网络整理| 查看: 265

扩展状态栏 项目01/12/2024

可以使用 IDE 底部的 Visual Studio 状态栏显示信息。

扩展状态栏时,可以在四个区域中显示信息和 UI:反馈区域、进度栏、动画区域和设计器区域。 通过反馈区域,可以显示文本并突出显示显示的文本。 进度栏显示短运行操作(例如保存文件)的增量进度。 动画区域显示连续循环动画,用于长时间运行的操作或不确定长度的操作,例如在解决方案中生成多个项目。 设计器区域显示游标位置的行号和列号。

可以使用接口(从SVsStatusbar服务)获取状态栏IVsStatusbar。 此外,在窗口框架上定位的任何对象都可以通过实现 IVsStatusbarUser 接口注册为状态栏客户端对象。 每当激活窗口时,Visual Studio 将查询该窗口上针对接口的站点 IVsStatusbarUser 的对象。 如果找到,它会在返回的接口上调用 SetInfo 该方法,对象可以从该方法内部更新状态栏。 例如,文档窗口可以使用 SetInfo 该方法在设计器区域中更新活动时的信息。

以下过程假定你了解如何创建 VSIX 项目并添加自定义菜单命令。 有关信息,请参阅 使用菜单命令创建扩展。

修改状态栏

此过程演示如何设置和获取文本、显示静态文本,并在状态栏的反馈区域中突出显示显示的文本。

读取和写入状态栏

创建名为 TestStatusBarExtension 的 VSIX 项目,并添加名为 TestStatusBarCommand 的菜单命令。

在 TestStatusBarCommand.cs 中,将命令处理程序方法代码 (MenuItemCallback) 替换为以下内容:

private void MenuItemCallback(object sender, EventArgs e) { IVsStatusbar statusBar = (IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar)); // Make sure the status bar is not frozen int frozen; statusBar.IsFrozen(out frozen); if (frozen != 0) { statusBar.FreezeOutput(0); } // Set the status bar text and make its display static. statusBar.SetText("We just wrote to the status bar."); // Freeze the status bar. statusBar.FreezeOutput(1); // Get the status bar text. string text; statusBar.GetText(out text); System.Windows.Forms.MessageBox.Show(text); // Clear the status bar text. statusBar.FreezeOutput(0); statusBar.Clear(); }

编译代码并开始调试。

在 Visual Studio 的实验实例中打开“工具” 菜单。 单击“调用 TestStatusBarCommand”按钮。

应会看到状态栏中的文本现在已读 到“我们刚刚写到状态栏 ”。出现的消息框具有相同的文本。

更新进度栏

在此过程中,我们将演示如何初始化和更新进度栏。

打开 TestStatusBarCommand.cs 文件,并将MenuItemCallback该方法替换为以下代码:

private void MenuItemCallback(object sender, EventArgs e) { IVsStatusbar statusBar = (IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar)); uint cookie = 0; string label = "Writing to the progress bar"; // Initialize the progress bar. statusBar.Progress(ref cookie, 1, "", 0, 0); for (uint i = 0, total = 20; i 选项”设置:

转到“工具>选项>常规”选项卡并取消检查根据客户端性能自动调整视觉体验。 然后检查子选项“启用丰富的客户端视觉体验”。 现在,在 Visual Studio 的实验实例中生成项目时,应该能够看到动画。

在此过程中,我们将显示表示生成项目或解决方案的标准 Visual Studio 动画。

打开 TestStatusBarCommand.cs 文件,并将MenuItemCallback该方法替换为以下代码:

private void MenuItemCallback(object sender, EventArgs e) { IVsStatusbar statusBar =(IVsStatusbar)ServiceProvider.GetService(typeof(SVsStatusbar)); // Use the standard Visual Studio icon for building. object icon = (short)Microsoft.VisualStudio.Shell.Interop.Constants.SBAI_Build; // Display the icon in the Animation region. statusBar.Animation(1, ref icon); // The message box pauses execution for you to look at the animation. System.Windows.Forms.MessageBox.Show("showing?"); // Stop the animation. statusBar.Animation(0, ref icon); }

编译代码并开始调试。

在 Visual Studio 的实验实例中打开“工具” 菜单,然后单击“ 调用 TestStatusBarCommand”。

看到消息框时,还应在最右侧的状态栏中看到动画。 关闭消息框时,动画将消失。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3