📄 abstractoptionpanel.cs
字号:
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version value="$version"/>
// </file>
using System;
using System.Windows.Forms;
using ICSharpCode.Core.AddIns.Codons;
using ICSharpCode.XmlForms;
using ICSharpCode.SharpDevelop.Gui.XmlForms;
namespace ICSharpCode.SharpDevelop.Gui.Dialogs
{
public abstract class AbstractOptionPanel : BaseSharpDevelopUserControl, IDialogPanel
{
bool wasActivated = false;
bool isFinished = true;
object customizationObject = null;
public Control Control {
get {
return this;
}
}
public bool WasActivated {
get {
return wasActivated;
}
}
public virtual object CustomizationObject {
get {
return customizationObject;
}
set {
customizationObject = value;
OnCustomizationObjectChanged();
}
}
public virtual bool EnableFinish {
get {
return isFinished;
}
set {
if (isFinished != value) {
isFinished = value;
OnEnableFinishChanged();
}
}
}
public AbstractOptionPanel(string fileName) : base(fileName)
{
}
public AbstractOptionPanel() : base("")
{
}
public virtual bool ReceiveDialogMessage(DialogMessage message)
{
switch (message) {
case DialogMessage.Activated:
if (!wasActivated) {
LoadPanelContents();
wasActivated = true;
}
break;
case DialogMessage.OK:
if (wasActivated) {
return StorePanelContents();
}
break;
}
return true;
}
public virtual void LoadPanelContents()
{
}
public virtual bool StorePanelContents()
{
return true;
}
protected virtual void OnEnableFinishChanged()
{
if (EnableFinishChanged != null) {
EnableFinishChanged(this, null);
}
}
protected virtual void OnCustomizationObjectChanged()
{
if (CustomizationObjectChanged != null) {
CustomizationObjectChanged(this, null);
}
}
public event EventHandler CustomizationObjectChanged;
public event EventHandler EnableFinishChanged;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -