sdmenucheckbox.cs
来自「全功能c#编译器」· CS 代码 · 共 80 行
CS
80 行
// <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.Drawing;
using System.Diagnostics;
using System.Drawing.Text;
using System.Drawing.Imaging;
using System.Windows.Forms;
using ICSharpCode.Core.AddIns.Conditions;
using ICSharpCode.Core.AddIns.Codons;
using ICSharpCode.Core.Services;
using Reflector.UserInterface;
namespace ICSharpCode.SharpDevelop.Gui.Components
{
public class SdMenuCheckBox : CommandBarCheckBox, IStatusUpdate
{
static StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService));
object caller;
ConditionCollection conditionCollection;
string description = String.Empty;
protected string localizedText = String.Empty;
ICheckableMenuCommand menuCommand;
public string Description {
get {
return description;
}
set {
description = value;
}
}
public SdMenuCheckBox(ConditionCollection conditionCollection, object caller, string label) : base(stringParserService.Parse(label))
{
this.caller = caller;
this.conditionCollection = conditionCollection;
this.localizedText = label;
UpdateStatus();
}
public SdMenuCheckBox(ConditionCollection conditionCollection, object caller, string label, ICheckableMenuCommand menuCommand) : base(stringParserService.Parse(label))
{
this.menuCommand = menuCommand;
this.caller = caller;
this.conditionCollection = conditionCollection;
this.localizedText = label;
UpdateStatus();
}
protected override void OnClick(System.EventArgs e)
{
base.OnClick(e);
if (menuCommand != null) {
menuCommand.IsChecked = IsChecked;
}
}
public virtual void UpdateStatus()
{
if (conditionCollection != null) {
ConditionFailedAction failedAction = conditionCollection.GetCurrentConditionFailedAction(caller);
this.IsEnabled = failedAction != ConditionFailedAction.Disable;
this.IsVisible = failedAction != ConditionFailedAction.Exclude;
}
Text = stringParserService.Parse(localizedText);
if (menuCommand != null) {
IsChecked = menuCommand.IsChecked;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?