作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有人知道如何使用 C# 中的 VSPackage 以编程方式获取配色方案吗?
我知道我可以为 VS2011 使用 IVsUIShell5.GetThemedColor
,但我不知道如何从 VS2005、VS2008 或 VS2010 获取它。
提前致谢。
最佳答案
有两种方法,使用 IVSShell 和 IVSShell2:
private List<Color> GetColorList1()
{
IVsUIShell uiShell = (IVsUIShell)this.GetService(typeof(IVsUIShell));
List<Color> result = new List<Color>();
foreach (VSSYSCOLOR vsSysColor in Enum.GetValues(typeof(VSSYSCOLOR)))
{
uint win32Color;
uiShell.GetVSSysColor(vsSysColor, out win32Color);
Color color = ColorTranslator.FromWin32((int)win32Color);
result.Add(color);
}
return result;
}
private List<Color> GetColorList2()
{
IVsUIShell2 uiShell = (IVsUIShell2)this.GetService(typeof(IVsUIShell2));
List<Color> result = new List<Color>();
foreach (__VSSYSCOLOREX vsSysColor in Enum.GetValues(typeof(__VSSYSCOLOREX)))
{
uint win32Color;
uiShell.GetVSSysColorEx((int)vsSysColor, out win32Color);
Color color = ColorTranslator.FromWin32((int)win32Color);
result.Add(color);
}
return result;
}
关于c# - 从 VSPackage 获取 Visual Studio 配色方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981840/
我是一名优秀的程序员,十分优秀!