更新 xtraTabbedMdiManager1 表单的图标
本文关键字:图标 表单 xtraTabbedMdiManager1 更新 | 更新日期: 2023-09-27 17:55:26
我正在使用xtraTabbedMdiManager和awesomium chrome浏览器在互联网浏览器上工作。当加载框架完成结束时,我从网站上获取图标并替换子表单图标。
在常规表单应用程序中,这完美运行,但我注意到在 xtraTabbedMdiManager 选项卡中图标不会改变。文本会更改,但其他任何内容都不起作用。如果有人能帮忙,我将不胜感激。下面是加载框架完成事件。
private void Awesomium_Windows_Forms_WebControl_LoadingFrameComplete(object sender, Awesomium.Core.FrameEventArgs e)
{
Icon ic = GetFavicon(webControl1.Source.ToString());
string strText = "";
if (!webControl1.Title.ToString().Contains("about:blank"))
{
strText = webControl1.Title;
if (strText.Length > 15)
{
strText = strText.Remove(15) + "...";
}
this.Text = strText;
this.Icon = ic;//this icon should change...and it does if it was just a regular form
}
}
这是在 xtraTabbedMdi 父级的子窗体中完成的。请帮忙!
我建议您直接通过 XtraMdiTabPage.Image 或 XtraMdiTabPage.ImageIndex 属性为选项卡页面指定图像,并避免使用 Form.Icon
属性,因为 XtraTabbedMdiManager 仅使用 Form.Icon
初始化 XtraMdiTabPage.Image 属性,并且在此之后不会跟踪Form.Icon
属性的更改。
伪代码:
xtraTabbedMdiManagerInstance.UseFormIconAsPageImage = DevExpress.Utils.DefaultBoolean.False;
//...
void Awesomium_Windows_Forms_WebControl_LoadingFrameComplete(object sender, EventArgs e) {
Icon favicon = GetFavicon(...);
xtraTabbedMdiManagerInstance.Pages[this].Image = favicon.ToBitmap();
}