我正在使用xtraTabbedMdiManager和awesomium chrome浏览器在互联网浏览器上工作。当loadingFrameComplete结束时,我从网站上获取了favicon并替换了子表单图标。
在常规表单应用程序中,这可以很好地工作,但我注意到在xtraTabbedMdiManager选项卡中图标不会更改。文本更改但没有其他工作。如果有人可以提供帮助,我将非常感激。以下是loadingFrameComplete事件..
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父级的子窗体内完成的。请帮忙!
答案 0 :(得分:1)
我建议您直接通过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();
}