Здравствуйте, mrix, Вы писали:
M>[InvalidOperationException]: The object is currently in use elsewhere.
M>at System.Drawing.Image.get_Width()
M>at System.Drawing.Image.get_Size()
M>at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.get_GlyphSize()
M>at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.CalcLinkHorizontalCalptionGlyphWidth(Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.CalcLinkHorizontalSize(Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.ViewInfo.BarCustomContainerLinkViewInfo.CalcLinkHorizontalSize(Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.CalcLinkSize(Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.BarItemLink.CalcLinkSize(Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.CalcLinkSize(BarItemLink link, Graphics g, Object sourceObject)
M>at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.PreCalcMultiLineSize(Graphics g, Object sourceObject, Int32 AMaxBarWidth, Int32& ARestWidth)
M>at DevExpress.XtraBars.ViewInfo.DockedBarControlViewInfo.PreCalcMultiLineSize(Graphics g, Object sourceObject, Int32 AMaxBarWidth, Int32& ARestWidth)
M>at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.PreCalcBarDrawInfo(Graphics g, Object sourceObject, Int32 width)
M>at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.CalcBarSize(Graphics g, Object sourceObject, Int32 width, Int32 maxHeight)
M>at DevExpress.XtraBars.Controls.CustomControl.CalcSize(Int32 width, Int32 maxHeight)
M>at DevExpress.XtraBars.Controls.CustomControl.CalcSize(Int32 width)
M>at DevExpress.XtraBars.BarDockControl.CalcBarMaxOffsets(DockRow row, Int32 restWidth)
M>at DevExpress.XtraBars.BarDockControl.MakeLayout(DockRow row, Point& lastLocation, Int32 rowIndent, Int32 rowObjectIndent, Int32& totalHeight, Int32& totalShrinkableHeight)
M>at DevExpress.XtraBars.BarDockControl.DoLayout()
M>at DevExpress.XtraBars.BarDockControl.CheckSize()
M>at DevExpress.XtraBars.BarDockControl.BarDockChanged()
M>at DevExpress.XtraBars.BarDockControl.EndUpdate()
M>at DevExpress.XtraBars.BarManager.EndUpdate()
M>at DevExpress.XtraBars.Utils.BarMdiHelper.DoCheckMdi(Form activeForm, Boolean force)
M>at DevExpress.XtraBars.BarManager.OnFormMdiChildActivate(Object sender, EventArgs e)
M>at System.Windows.Forms.Form.OnMdiChildActivate(EventArgs e)
M>at System.Windows.Forms.Form.ActivateMdiChild(Form form)
M>at System.Windows.Forms.Form.WmMdiActivate(Message& m)
M>at System.Windows.Forms.Form.WndProc(Message& m)
M>at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
M>at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
M>at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Потоки, как видно, здесь не при чём.
Добавь в код главной Mdi-формы:
public partial class MyMdiForm : Form
{
// …
protected override void OnMdiChildActivate(EventArgs e) {
try {
base.OnMdiChildActivate(e);
} catch(InvalidOperationException) { // FIX: … описание проблемы
}//try
}
// …
}
А потом сообщи об ошибке разработчикам DevExpress.XtraBars (и стек-трейс привести не забудь ;о)) и жди фикса или предложения по обходу проблемы.