Exemplo n.º 1
0
 /// <summary>
 /// 显示
 /// </summary>
 public virtual void ShowDialog()
 {
     if (m_isWinForm)
     {
         SIZE            windowSize   = new SIZE();
         List <ControlA> controls     = m_window.m_controls;
         int             controlsSize = controls.Count;
         m_winForm = new BugHoleForm();
         for (int i = 0; i < controlsSize; i++)
         {
             ControlA subControl = controls[i];
             if (!(subControl is WindowButton))
             {
                 windowSize        = subControl.Size;
                 subControl.Margin = new PADDING(0, 0, 0, 0);
                 m_winForm.AddBugHole(Native, subControl);
                 break;
             }
         }
         Native         = m_winForm.Native;
         m_winForm.Text = m_window.Text;
         if (m_window.WindowState == WindowStateA.Max)
         {
             m_winForm.WindowState = FormWindowState.Maximized;
         }
         else if (m_window.WindowState == WindowStateA.Min)
         {
             m_winForm.WindowState = FormWindowState.Minimized;
         }
         else
         {
             m_winForm.ClientSize = new Size(windowSize.cx, windowSize.cy);
         }
         m_winForm.Window = this;
         m_winForm.ShowDialog();
     }
     else
     {
         m_window.Location = new POINT(-m_window.Width, -m_window.Height);
         m_window.AnimateShow(true);
         m_window.Invalidate();
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// 销毁方法
 /// </summary>
 public override void Dispose()
 {
     if (!IsDisposed)
     {
         if (m_winForm != null && m_winForm.Window != null)
         {
             m_winForm.Window = null;
             m_winForm.Close();
             m_winForm = null;
         }
         if (m_window != null)
         {
             m_invokeEvent = null;
             m_window.Close();
             m_window.Dispose();
             m_window = null;
         }
         base.Dispose();
     }
 }