using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace VisionSystem
{
#if DEBUG
public partial class RootForm
#else
public abstract partial class RootForm
#endif
:Form
{
public RootForm()
{
InitializeComponent();
}
#if DEBUG
public virtual bool StartRun() { return true; }
#else
public abstract bool StartRun();
#endif

}
}

因为在实例化子类窗体的时候,要先实例化父类窗体。父类窗体设置为abstract,则不能实例化。

我们可以用#if Debug来解决这个问题。

如果定义抽象父类是为了定义子窗体的公共方法,那么在父类中定义虚函数即可。