Showing preview only (1,740K chars total). Download the full file or copy to clipboard to get everything.
Repository: iccb1013/Sheng.Winform.Controls
Branch: master
Commit: 5bf96c19c2d0
Files: 234
Total size: 1.6 MB
Directory structure:
gitextract_mpnbyyvk/
├── .gitignore
├── LICENSE
├── README.md
├── Sheng.Winform.Controls/
│ ├── BrowserDisplayBinding/
│ │ ├── BrowserPane.cs
│ │ ├── DefaultHtmlViewSchemeExtension.cs
│ │ ├── ExtendedWebBrowser.cs
│ │ ├── HtmlViewPane.cs
│ │ ├── HtmlViewPaneEvents.cs
│ │ └── IHtmlViewSchemeExtension.cs
│ ├── DragHelper.cs
│ ├── IShengForm.cs
│ ├── IShengValidate.cs
│ ├── IconResource.Designer.cs
│ ├── IconResource.resx
│ ├── License/
│ │ ├── SEControlLicense.cs
│ │ ├── SEControlLicenseProvider.cs
│ │ └── TextFile1.txt
│ ├── LocalizedDescription.cs
│ ├── PopupControl/
│ │ ├── GripBounds.cs
│ │ ├── NativeMethods.cs
│ │ ├── Popup.Designer.cs
│ │ ├── Popup.cs
│ │ ├── PopupAnimation.cs
│ │ ├── PopupComboBox.Designer.cs
│ │ ├── PopupComboBox.cs
│ │ ├── PopupControlComboBoxBase.Designer.cs
│ │ └── PopupControlComboBoxBase.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── Renderer/
│ │ ├── Office2010Renderer.cs
│ │ ├── SEToolStripProfessionalRenderer_Gary.cs
│ │ ├── SEToolStripRender.cs
│ │ └── ToolStripRenders.cs
│ ├── SEControl.csproj.pdsync
│ ├── SEFormShadow.Designer.cs
│ ├── SEFormShadow.cs
│ ├── SEImageListView.cs
│ ├── Sheng.Winform.Controls.csproj
│ ├── Sheng.Winform.Controls.csproj.user
│ ├── ShengAdressBar/
│ │ ├── IShengAddressNode.cs
│ │ ├── ShengAddressBar.Designer.cs
│ │ ├── ShengAddressBar.cs
│ │ ├── ShengAddressBar.resx
│ │ ├── ShengAddressBarButton.cs
│ │ ├── ShengAddressBarDropDown.cs
│ │ ├── ShengAddressBarDropDownButton.cs
│ │ ├── ShengAddressBarDropDownItem.cs
│ │ ├── ShengAddressBarStrip.cs
│ │ └── ShengFileSystemNode.cs
│ ├── ShengAdvComboBox.cs
│ ├── ShengAdvComboBoxDropdownBase.Designer.cs
│ ├── ShengAdvComboBoxDropdownBase.cs
│ ├── ShengAdvComboBoxDropdownBase.resx
│ ├── ShengAdvLabel.cs
│ ├── ShengAreoMainMenuStrip.cs
│ ├── ShengColorChooseComboBox.Designer.cs
│ ├── ShengColorChooseComboBox.cs
│ ├── ShengColorChooseComboBoxDropDown.Designer.cs
│ ├── ShengColorChooseComboBoxDropDown.cs
│ ├── ShengColorChooseComboBoxDropDown.resx
│ ├── ShengComboBox.cs
│ ├── ShengComboSelector/
│ │ ├── ShengComboSelector.Designer.cs
│ │ ├── ShengComboSelector.cs
│ │ ├── ShengComboSelector.resx
│ │ ├── ShengComboSelectorItem.cs
│ │ ├── ShengComboSelectorItemCollection.cs
│ │ ├── ShengComboSelectorItemContainer.Designer.cs
│ │ ├── ShengComboSelectorItemContainer.cs
│ │ └── ShengComboSelectorItemContainer.resx
│ ├── ShengComboSelector2/
│ │ ├── Enums.cs
│ │ ├── ShengComboSelector2.cs
│ │ └── ShengComboSelectorTheme.cs
│ ├── ShengDataGridView/
│ │ ├── Renderer/
│ │ │ ├── IShengDataGridViewCellRenderer.cs
│ │ │ ├── ShengDataGridViewCheckBoxCellRenderer.cs
│ │ │ ├── ShengDataGridViewImageCellRenderer.cs
│ │ │ ├── ShengDataGridViewRenderer.cs
│ │ │ └── ShengDataGridViewRendererTheme.cs
│ │ ├── ShengDataGridView.cs
│ │ ├── ShengDataGridViewCheckBoxColumn.cs
│ │ ├── ShengDataGridViewImageBinderCell.cs
│ │ └── ShengDataGridViewImageBinderColumn.cs
│ ├── ShengDatetimePicker.cs
│ ├── ShengFlatButton.Designer.cs
│ ├── ShengFlatButton.cs
│ ├── ShengFlatButton.resx
│ ├── ShengForm.Designer.cs
│ ├── ShengForm.cs
│ ├── ShengForm.resx
│ ├── ShengGroupBox.cs
│ ├── ShengImageListView/
│ │ ├── Enums.cs
│ │ ├── Events.cs
│ │ ├── ShengImageListView.cs
│ │ ├── ShengImageListViewCollection.cs
│ │ ├── ShengImageListViewColor.cs
│ │ ├── ShengImageListViewHitInfo.cs
│ │ ├── ShengImageListViewItem.cs
│ │ ├── ShengImageListViewItemThumbnailsCache.cs
│ │ ├── ShengImageListViewLayoutManager.cs
│ │ ├── ShengImageListViewRenderer.cs
│ │ ├── ShengImageListViewStandardRenderer.cs
│ │ ├── ShengImageListViewTheme.cs
│ │ └── Utility.cs
│ ├── ShengLine.cs
│ ├── ShengListView/
│ │ ├── Enums.cs
│ │ ├── Events.cs
│ │ ├── Layout/
│ │ │ ├── IShengListViewExtendMember.cs
│ │ │ ├── ShengListViewDescriptiveLayoutManager.cs
│ │ │ ├── ShengListViewDescriptiveMembers.cs
│ │ │ ├── ShengListViewDescriptiveRenderer.cs
│ │ │ ├── ShengListViewLayoutManager.cs
│ │ │ ├── ShengListViewRenderer.cs
│ │ │ ├── ShengListViewStandardLayoutManager.cs
│ │ │ ├── ShengListViewStandardRenderer.cs
│ │ │ └── ShengListViewTheme.cs
│ │ ├── ShengListView.cs
│ │ ├── ShengListViewColor.cs
│ │ ├── ShengListViewHitInfo.cs
│ │ ├── ShengListViewItem.cs
│ │ └── ShengListViewItemCollection.cs
│ ├── ShengLoadingCircle.cs
│ ├── ShengNavigationTreeView/
│ │ ├── ShengNavigationTreeNode.cs
│ │ └── ShengNavigationTreeView.cs
│ ├── ShengPad.cs
│ ├── ShengPaginationDataGridView.Designer.cs
│ ├── ShengPaginationDataGridView.cs
│ ├── ShengPaginationDataGridView.resx
│ ├── ShengPanel.cs
│ ├── ShengSimpleCheckBox.cs
│ ├── ShengTabControl.cs
│ ├── ShengTextBox.cs
│ ├── ShengThumbnailImageListView.cs
│ ├── ShengToolStrip.cs
│ ├── ShengToolStripMenuItem.cs
│ ├── ShengToolStripSeparator.cs
│ ├── ShengTreeView.cs
│ ├── ShengUserControl.Designer.cs
│ ├── ShengUserControl.cs
│ ├── ShengUserControl.resx
│ ├── ShengValidateHelper.cs
│ ├── WinAPI.cs
│ └── Wizard/
│ ├── IWizardView.cs
│ ├── WizardPanelBase.Designer.cs
│ ├── WizardPanelBase.cs
│ ├── WizardPanelBase.resx
│ ├── WizardView.Designer.cs
│ ├── WizardView.cs
│ └── WizardView.resx
├── Sheng.Winform.Controls.Demo/
│ ├── Form1.Designer.cs
│ ├── Form1.cs
│ ├── Form1.resx
│ ├── FormMisc.Designer.cs
│ ├── FormMisc.cs
│ ├── FormMisc.resx
│ ├── FormShengAdressBar.Designer.cs
│ ├── FormShengAdressBar.cs
│ ├── FormShengAdressBar.resx
│ ├── FormShengComboSelector.Designer.cs
│ ├── FormShengComboSelector.cs
│ ├── FormShengComboSelector.resx
│ ├── FormShengComboSelector2.Designer.cs
│ ├── FormShengComboSelector2.cs
│ ├── FormShengComboSelector2.resx
│ ├── FormShengDataGridView.Designer.cs
│ ├── FormShengDataGridView.cs
│ ├── FormShengDataGridView.resx
│ ├── FormShengImageListView.Designer.cs
│ ├── FormShengImageListView.cs
│ ├── FormShengImageListView.resx
│ ├── FormShengListView.Designer.cs
│ ├── FormShengListView.cs
│ ├── FormShengListView.resx
│ ├── FormShengThumbnailImageListView.Designer.cs
│ ├── FormShengThumbnailImageListView.cs
│ ├── FormShengThumbnailImageListView.resx
│ ├── FormShengTreeView.Designer.cs
│ ├── FormShengTreeView.cs
│ ├── FormShengTreeView.resx
│ ├── MainToolStripPanel.cs
│ ├── Program.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── Resource1.Designer.cs
│ ├── Resource1.resx
│ ├── Sheng.Winform.Controls.Demo.csproj
│ ├── Sheng.Winform.Controls.Demo.csproj.user
│ ├── StartPageCodePage.cs
│ ├── StartPageScheme.cs
│ └── TestListViewItem.cs
├── Sheng.Winform.Controls.Drawing/
│ ├── BmpAdjuster.cs
│ ├── ColorRepresentationHelper.cs
│ ├── DrawingTool.cs
│ ├── GraphPlotting.cs
│ ├── GraphicsExtension.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Sheng.Winform.Controls.Drawing.csproj
│ └── Sheng.Winform.Controls.Drawing.csproj.user
├── Sheng.Winform.Controls.Kernal/
│ ├── EnvironmentHelper.cs
│ ├── FastReflection/
│ │ ├── ConstructorInvoker.cs
│ │ ├── ConstructorInvokerPool.cs
│ │ ├── FastReflectionPool.cs
│ │ ├── FieldAccessor.cs
│ │ ├── FieldAccessorPool.cs
│ │ ├── IFastReflectionPool.cs
│ │ ├── MethodInvoker.cs
│ │ ├── MethodInvokerPool.cs
│ │ ├── PropertyAccessor.cs
│ │ ├── PropertyAccessorPool.cs
│ │ └── ReflectionPool.cs
│ ├── ImageAndTypeMappingCodon.cs
│ ├── Localisation/
│ │ └── LocalisationHelper.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Sheng.Winform.Controls.Kernal.csproj
│ └── Sheng.Winform.Controls.Kernal.csproj.user
├── Sheng.Winform.Controls.Localisation/
│ ├── Chinese (Simplified).Designer.cs
│ ├── Chinese (Simplified).resx
│ ├── ILanguage.cs
│ ├── Language.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Sheng.Winform.Controls.Localisation.csproj
│ └── Sheng.Winform.Controls.Localisation.csproj.user
├── Sheng.Winform.Controls.Win32/
│ ├── DwmApi.cs
│ ├── ExplorerTreeView.cs
│ ├── Kernel32.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Shell32.cs
│ ├── Sheng.Winform.Controls.Win32.csproj
│ ├── Sheng.Winform.Controls.Win32.csproj.user
│ ├── User32.cs
│ └── WinMessage.cs
└── Sheng.Winform.Controls.sln
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
bin
obj
.vs
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2008 曹旭升(sheng.c)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# Sheng.Winform.Controls
🙋♂️ https://me.shendesk.com
📨 cao.silhouette@gmail.com
Please visit the original code repository for the latest updates: https://github.com/iccb1013/Sheng.Winform.Controls .
Sheng.Winform.Controls provides more than 15 WinForm controls. You can use this control library directly, and more importantly, you can learn the methods and concepts of WinForm control development through it.
You will learn:
How to implement a fully functional WinForm control from scratch based on the Control class.
How to use the GDI+ drawing interface and interact with user actions.
How different design patterns are applied in WinForm control development.
Many people think that design patterns are only used to solve problems in large-scale solutions. However, here you will see that design patterns are not just for breaking down large projects— even for developing a single WinForm control, a well-structured design pattern can help you decompose and solve problems efficiently.
For example, the Prototype Pattern—although I could explain this pattern in detail, I struggled to find a practical application for it until I discovered that Microsoft used it in implementing DataGridView to solve several key issues. That was an eye-opener.
Other design patterns, such as Factory Pattern, Builder Pattern, and Command Pattern, also have highly relevant use cases in complex WinForm control development.
The source code includes detailed comments, which I believe will help you in reading and utilizing it effectively.
If you use this control library in a commercial product, please provide proper attribution in the copyright notice and include this GitHub address. Thank you!
> I'm sorry that I didn't prepare a multilingual version at the time. If you have any questions about the code, please feel free to contact me, and I will be happy to assist you.






================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/BrowserPane.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
public class BrowserPane : IDisposable
{
#region 公开属性
private HtmlViewPane _htmlViewPane;
public HtmlViewPane View
{
get
{
return _htmlViewPane;
}
}
public Uri Url
{
get
{
return _htmlViewPane.Url;
}
}
/// <summary>
/// URL框中显示的地址
/// 这个地址是可能不同于WebBrowse中的实际URL的
/// </summary>
public string DummyUrl
{
get { return _htmlViewPane.DummyUrl; }
}
#endregion
#region 构造
protected BrowserPane(bool showNavigation)
{
_htmlViewPane = new HtmlViewPane(showNavigation);
_htmlViewPane.Dock = DockStyle.Fill;
//htmlViewPane.WebBrowser.DocumentTitleChanged += new EventHandler(TitleChange);
//// htmlViewPane.Closed += PaneClosed;
//TitleChange(null, null);
}
public BrowserPane()
: this(true)
{
}
#endregion
#region 公开方法
public void Dispose()
{
_htmlViewPane.Dispose();
}
public void Navigate(string url)
{
_htmlViewPane.Navigate(url);
}
#endregion
//void PaneClosed(object sender, EventArgs e)
//{
// WorkbenchWindow.CloseWindow(true);
//}
//void TitleChange(object sender, EventArgs e)
//{
// string title = htmlViewPane.WebBrowser.DocumentTitle;
// if (title != null)
// title = title.Trim();
// if (title == null || title.Length == 0)
// title = "Browser";
// DockContent dockContent = this.Control.FindForm() as DockContent;
// if (dockContent != null)
// {
// dockContent.TabText = title;
// }
//}
}
}
================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/DefaultHtmlViewSchemeExtension.cs
================================================
using System;
using System.Collections;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
public class DefaultHtmlViewSchemeExtension : IHtmlViewSchemeExtension
{
public virtual void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e) { }
public virtual void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e) { }
public virtual void GoHome(HtmlViewPane pane)
{
pane.Navigate(HtmlViewPane.DefaultHomepage);
}
public virtual void GoSearch(HtmlViewPane pane)
{
pane.Navigate(HtmlViewPane.DefaultSearchUrl);
}
}
}
================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/ExtendedWebBrowser.cs
================================================
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
public delegate void NewWindowExtendedEventHandler(object sender, NewWindowExtendedEventArgs e);
public class NewWindowExtendedEventArgs : CancelEventArgs
{
Uri url;
public Uri Url
{
get
{
return url;
}
}
public NewWindowExtendedEventArgs(Uri url)
{
this.url = url;
}
}
/// <summary>
/// Microsoft didn't include the URL being surfed to in the NewWindow event args,
/// but here is the workaround:
/// </summary>
public class ExtendedWebBrowser : WebBrowser
{
class WebBrowserExtendedEvents : System.Runtime.InteropServices.StandardOleMarshalObject, DWebBrowserEvents2
{
private ExtendedWebBrowser browser;
public WebBrowserExtendedEvents(ExtendedWebBrowser browser)
{
this.browser = browser;
}
public void NewWindow3(object pDisp, ref bool cancel, ref object flags, ref string urlContext, ref string url)
{
NewWindowExtendedEventArgs e = new NewWindowExtendedEventArgs(new Uri(url));
browser.OnNewWindowExtended(e);
cancel = e.Cancel;
}
}
[ComImport()]
[Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
[TypeLibType(TypeLibTypeFlags.FHidden)]
interface DWebBrowserEvents2
{
[DispId(273)]
void NewWindow3([InAttribute(), MarshalAs(UnmanagedType.IDispatch)] object pDisp,
[InAttribute(), OutAttribute()] ref bool cancel,
[InAttribute()] ref object flags,
[InAttribute(), MarshalAs(UnmanagedType.BStr)] ref string urlContext,
[InAttribute(), MarshalAs(UnmanagedType.BStr)] ref string url);
}
public event NewWindowExtendedEventHandler NewWindowExtended;
private AxHost.ConnectionPointCookie cookie;
private WebBrowserExtendedEvents wevents;
protected override void CreateSink()
{
base.CreateSink();
wevents = new WebBrowserExtendedEvents(this);
cookie = new AxHost.ConnectionPointCookie(this.ActiveXInstance, wevents, typeof(DWebBrowserEvents2));
}
protected override void DetachSink()
{
if (cookie != null)
{
cookie.Disconnect();
cookie = null;
}
base.DetachSink();
}
protected virtual void OnNewWindowExtended(NewWindowExtendedEventArgs e)
{
if (NewWindowExtended != null)
{
NewWindowExtended(this, e);
}
}
}
}
================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPane.cs
================================================
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
public class HtmlViewPane : UserControl
{
public const string DefaultHomepage = "http://www.shengxunwei.com/";
public const string DefaultSearchUrl = "http://www.google.com/";
#region 私有成员
string dummyUrl;
private ExtendedWebBrowser webBrowser = null;
private ToolStrip toolStrip;
private ToolStripItem toolStripItemBack, toolStripItemForward;
private Control comboBoxUrl;
#endregion
#region 公开属性
private bool _showNavigation;
public bool ShowNavigation
{
get
{
return this._showNavigation;
}
set
{
this._showNavigation = value;
if (value)
{
if (this.toolStrip == null)
{
#region 创建导航条
toolStrip = new ToolStrip();
toolStrip.RenderMode = ToolStripRenderMode.Professional;
toolStrip.Renderer = ToolStripRenders.WhiteToSilverGray;
toolStrip.GripStyle = ToolStripGripStyle.Hidden;
//后退
toolStripItemBack = new ToolStripButton();
//toolStripItemBack.Text = "Back";
toolStripItemBack.Image = IconResource.Browser_Back;
toolStripItemBack.Click += delegate { this.webBrowser.GoBack(); };
toolStrip.Items.Add(toolStripItemBack);
//前进
toolStripItemForward = new ToolStripButton();
//toolStripItemForward.Text = "Forward";
toolStripItemForward.Image = IconResource.Browser_Forward;
toolStripItemForward.Click += delegate { this.webBrowser.GoForward(); };
toolStrip.Items.Add(toolStripItemForward);
ToolStripItem toolStripItem;
//停止
toolStripItem = new ToolStripButton();
//toolStripItem.Text = "Stop";
toolStripItem.Image = IconResource.Browser_Stop;
toolStripItem.Click += delegate { this.webBrowser.Stop(); };
toolStrip.Items.Add(toolStripItem);
//刷新
toolStripItem = new ToolStripButton();
//toolStripItem.Text = "Refresh";
toolStripItem.Image = IconResource.Browser_Refresh;
toolStripItem.Click += delegate { this.webBrowser.Refresh(); };
toolStrip.Items.Add(toolStripItem);
toolStripItem = new ToolStripSeparator();
toolStrip.Items.Add(toolStripItem);
//主页
toolStripItem = new ToolStripButton();
//toolStripItem.Text = "GoHome";
toolStripItem.Image = IconResource.Browser_Home;
toolStripItem.Click += delegate { GoHome(); };
toolStrip.Items.Add(toolStripItem);
//搜索
//toolStripItem = new ToolStripButton();
//toolStripItem.Text = "GoSearch";
//toolStripItem.Click += delegate { GoSearch(); };
//toolStrip.Items.Add(toolStripItem);
//地址栏
ToolStripComboBox toolStripComboBox = new ToolStripComboBox();
toolStripComboBox.ComboBox.Width *= 3;
SetUrlComboBox(toolStripComboBox.ComboBox);
toolStrip.Items.Add(toolStripComboBox);
//新窗口
//toolStripItem = new ToolStripButton();
//toolStripItem.Text = "NewWindow";
//toolStripItem.Click += delegate { NewWindow(null,null); };
//toolStrip.Items.Add(toolStripItem);
Controls.Add(toolStrip);
#endregion
}
this.toolStrip.Visible = true;
}
else
{
if (this.toolStrip != null)
{
this.toolStrip.Visible = false;
}
}
}
}
public ExtendedWebBrowser WebBrowser
{
get
{
return webBrowser;
}
}
public Uri Url
{
get
{
if (webBrowser.Url == null)
return new Uri("about:blank");
if (dummyUrl != null && webBrowser.Url.ToString() == "about:blank")
{
return new Uri(dummyUrl);
}
else
{
return webBrowser.Url;
}
}
}
/*
* 点击最近打开项目历史记录列表打开项目后
* WebBrowse.Url 会变成点的那个URL,如"startpage://project/D:/Users/sheng/Desktop/zz.zip"
* 而显示的页面和URL框里的地址还是一开始的 "startpage://start/"
*/
/// <summary>
/// URL框中显示的地址
/// 这个地址是可能不同于WebBrowse中的实际URL的
/// </summary>
public string DummyUrl
{
get
{
if (this.comboBoxUrl != null)
return this.comboBoxUrl.Text;
else
return this.Url.ToString();
}
}
#endregion
#region 构造
public HtmlViewPane(bool showNavigation)
{
Dock = DockStyle.Fill;
Size = new Size(500, 500);
webBrowser = new ExtendedWebBrowser();
webBrowser.Dock = DockStyle.Fill;
webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser_Navigating);
webBrowser.NewWindowExtended += new NewWindowExtendedEventHandler(webBrowser_NewWindowExtended);
webBrowser.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated);
webBrowser.StatusTextChanged += new EventHandler(webBrowser_StatusTextChanged);
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
webBrowser.DocumentTitleChanged += new EventHandler(webBrowser_DocumentTitleChanged);
Controls.Add(webBrowser);
this.ShowNavigation = showNavigation;
}
#endregion
#region 事件处理
void webBrowser_DocumentTitleChanged(object sender, EventArgs e)
{
if (this.TitleChanged != null)
{
TitleChanged(webBrowser.DocumentTitle);
}
}
void webBrowser_StatusTextChanged(object sender, EventArgs e)
{
//览器状态栏文本改变,把文本显示到软件主状态栏中
//IWorkbenchWindow workbench = WorkbenchSingleton.Workbench.Instance.ActiveWorkbenchWindow;
//if (workbench == null) return;
//BrowserPane browser = Workbench.Instance.ActiveViewContent as BrowserPane;
//if (browser == null) return;
//if (browser.HtmlViewPane == this)
//{
// StatusBarService.SetMessage(webBrowser.StatusText);
//}
//浏览器状态栏文本改变,把文本显示到软件主状态栏中
//Workbench.Instance.SetStatusBarMessage(webBrowser.StatusText);
if (this.StatusTextChanged != null)
StatusTextChanged(webBrowser.StatusText);
}
void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
try
{
IHtmlViewSchemeExtension extension = GetScheme(e.Url.Scheme);
if (extension != null)
{
extension.InterceptNavigate(this, e);
if (e.TargetFrameName.Length == 0)
{
if (e.Cancel == true)
{
dummyUrl = e.Url.ToString();
}
else if (e.Url.ToString() != "about:blank")
{
dummyUrl = null;
}
}
}
}
catch (Exception ex)
{
//MessageService.ShowError(ex);
MessageBox.Show(ex.Message);
}
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
try
{
if (dummyUrl != null && e.Url.ToString() == "about:blank")
{
e = new WebBrowserDocumentCompletedEventArgs(new Uri(dummyUrl));
}
IHtmlViewSchemeExtension extension = GetScheme(e.Url.Scheme);
if (extension != null)
{
extension.DocumentCompleted(this, e);
}
}
catch (Exception ex)
{
//MessageService.ShowError(ex);
MessageBox.Show(ex.Message);
}
}
void webBrowser_NewWindowExtended(object sender, NewWindowExtendedEventArgs e)
{
e.Cancel = true;
//显示在软件主界面的主选项卡文档中
//WorkbenchSingleton.Workbench.Instance.ShowView(new BrowserPane(e.Url));
//显示在软件主界面的主选项卡文档中
BrowserPane browserPane = new BrowserPane();
browserPane.View.Dock = DockStyle.Fill;
//FormBrowser dockContent = new FormBrowser();
//dockContent.HideOnClose = false;
//dockContent.TabText = "Browser";
//dockContent.Controls.Add(browserPane.Control);
//Workbench.Instance.ShowView(dockContent);
if (NewWindow != null)
{
NewWindow(this, new HtmlViewPaneNewWindowEventArgs(browserPane, e.Url));
}
}
void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
// do not use e.Url (frames!)
string url = webBrowser.Url.ToString();
if (dummyUrl != null && url == "about:blank")
{
comboBoxUrl.Text = dummyUrl;
}
else
{
comboBoxUrl.Text = url;
}
//// Update toolbar:
//foreach (object o in toolStrip.Items)
//{
// IStatusUpdate up = o as IStatusUpdate;
// if (up != null)
// up.UpdateStatus();
//}
if (_showNavigation)
{
toolStripItemBack.Enabled = this.webBrowser.CanGoBack;
toolStripItemForward.Enabled = this.webBrowser.CanGoForward;
}
}
#endregion
#region 公开方法
//static List<SchemeExtensionDescriptor> descriptors;
public IHtmlViewSchemeExtension GetScheme(string name)
{
//if (descriptors == null)
//{
// descriptors = AddInTree.BuildItems<SchemeExtensionDescriptor>("/SharpDevelop/Views/Browser/SchemeExtensions", null, false);
//}
//foreach (SchemeExtensionDescriptor descriptor in descriptors)
//{
// if (string.Equals(name, descriptor.SchemeName, StringComparison.OrdinalIgnoreCase))
// {
// return descriptor.Extension;
// }
//}
//return null;
if (GetSchemeFunc != null)
{
return GetSchemeFunc(this, new HtmlViewPaneGetSchemeEventArgs(name));
}
else
{
return null;
}
}
/// <summary>
/// Closes the ViewContent that contains this HtmlViewPane.
/// </summary>
public void Close()
{
if (Closed != null)
{
Closed(this, EventArgs.Empty);
}
}
public void Navigate(string url)
{
Uri uri;
try
{
uri = new Uri(url);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Navigate(new Uri(url));
}
public void Navigate(Uri url)
{
try
{
webBrowser.Navigate(url);
}
catch (Exception ex)
{
//LoggingService.Warn("Error navigating to " + url.ToString(), ex);
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public void GoHome()
{
IHtmlViewSchemeExtension extension = GetScheme(Url.Scheme);
if (extension != null)
{
extension.GoHome(this);
}
else
{
Navigate(DefaultHomepage);
}
}
public void GoSearch()
{
IHtmlViewSchemeExtension extension = GetScheme(Url.Scheme);
if (extension != null)
{
extension.GoSearch(this);
}
else
{
Navigate(DefaultSearchUrl);
}
}
public void SetUrlComboBox(ComboBox comboBox)
{
SetUrlBox(comboBox);
comboBox.DropDownStyle = ComboBoxStyle.DropDown;
comboBox.Items.Clear();
//comboBox.Items.AddRange(PropertyService.Get("Browser.URLBoxHistory", new string[0]));
comboBox.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox.AutoCompleteSource = AutoCompleteSource.HistoryList;
}
public void SetUrlBox(Control urlBox)
{
this.comboBoxUrl = urlBox;
urlBox.KeyUp += UrlBoxKeyUp;
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
webBrowser.Dispose();
}
}
#endregion
#region 私有方法
private void UrlBoxKeyUp(object sender, KeyEventArgs e)
{
Control ctl = (Control)sender;
if (e.KeyData == Keys.Return)
{
e.Handled = true;
UrlBoxNavigate(ctl);
}
}
private void UrlBoxNavigate(Control ctl)
{
string text = ctl.Text.Trim();
if (text.IndexOf(':') < 0)
{
text = "http://" + text;
}
Navigate(text);
//ComboBox comboBox = ctl as ComboBox;
//if (comboBox != null)
//{
// comboBox.Items.Remove(text);
// comboBox.Items.Insert(0, text);
// // Add to URLBoxHistory:
// string[] history = PropertyService.Get("Browser.URLBoxHistory", new string[0]);
// int pos = Array.IndexOf(history, text);
// if (pos < 0 && history.Length >= 20)
// {
// pos = history.Length - 1; // remove last entry and insert new at the beginning
// }
// if (pos < 0)
// {
// // insert new item
// string[] newHistory = new string[history.Length + 1];
// history.CopyTo(newHistory, 1);
// history = newHistory;
// }
// else
// {
// for (int i = pos; i > 0; i--)
// {
// history[i] = history[i - 1];
// }
// }
// history[0] = text;
// PropertyService.Set("Browser.URLBoxHistory", history);
//}
}
#endregion
#region 事件
public event EventHandler Closed;
public event OnHtmlViewPaneNewWindowHandler NewWindow;
public Func<object, HtmlViewPaneGetSchemeEventArgs, IHtmlViewSchemeExtension> GetSchemeFunc;
public Action<string> StatusTextChanged;
public Action<string> TitleChanged;
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPaneEvents.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sheng.Winform.Controls
{
public delegate void OnHtmlViewPaneNewWindowHandler(object sender, HtmlViewPaneNewWindowEventArgs args);
public class HtmlViewPaneNewWindowEventArgs : EventArgs
{
public HtmlViewPaneNewWindowEventArgs(BrowserPane browserPane,Uri url)
{
Url = url;
BrowserPane = browserPane;
}
public Uri Url
{
get;
private set;
}
public BrowserPane BrowserPane
{
get;
private set;
}
}
public class HtmlViewPaneGetSchemeEventArgs : EventArgs
{
public HtmlViewPaneGetSchemeEventArgs(string schemeName)
{
SchemeName = schemeName;
}
public string SchemeName
{
get;
private set;
}
}
}
================================================
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/IHtmlViewSchemeExtension.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
public interface IHtmlViewSchemeExtension
{
void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e);
void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e);
void GoHome(HtmlViewPane pane);
void GoSearch(HtmlViewPane pane);
}
}
================================================
FILE: Sheng.Winform.Controls/DragHelper.cs
================================================
//用在SETreeView 的拖放操作时
//http://www.codeproject.com/KB/tree/TreeViewDragDrop.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace Sheng.Winform.Controls
{
public class DragHelper
{
[DllImport("comctl32.dll")]
public static extern bool InitCommonControls();
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern bool ImageList_BeginDrag(IntPtr himlTrack, int
iTrack, int dxHotspot, int dyHotspot);
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern bool ImageList_DragMove(int x, int y);
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern void ImageList_EndDrag();
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern bool ImageList_DragEnter(IntPtr hwndLock, int x, int y);
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern bool ImageList_DragLeave(IntPtr hwndLock);
[DllImport("comctl32.dll", CharSet = CharSet.Auto)]
public static extern bool ImageList_DragShowNolock(bool fShow);
static DragHelper()
{
InitCommonControls();
}
}
}
================================================
FILE: Sheng.Winform.Controls/IShengForm.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sheng.Winform.Controls
{
interface IShengForm
{
bool DoValidate();
}
}
================================================
FILE: Sheng.Winform.Controls/IShengValidate.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sheng.Winform.Controls
{
public delegate bool CustomValidateMethod(object sender, out string msg);
interface IShengValidate
{
/// <summary>
/// 验证失败中显示错误信息时用的标题
/// </summary>
string Title { get; set; }
/// <summary>
/// 验证失败时是否需要高亮显示(改变背景色)
/// </summary>
bool HighLight { get; set; }
/// <summary>
/// 验证控件的输入
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
bool SEValidate(out string msg);
/// <summary>
/// 自定义验证方法
/// 在基础验证都通过后,才会调用自定义验证方法(如果有)
/// </summary>
CustomValidateMethod CustomValidate { get; set; }
}
}
================================================
FILE: Sheng.Winform.Controls/IconResource.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Sheng.Winform.Controls {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class IconResource {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal IconResource() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Sheng.Winform.Controls.IconResource", typeof(IconResource).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Arrow_right_green {
get {
object obj = ResourceManager.GetObject("Arrow_right_green", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser {
get {
object obj = ResourceManager.GetObject("Browser", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser_Back {
get {
object obj = ResourceManager.GetObject("Browser_Back", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser_Forward {
get {
object obj = ResourceManager.GetObject("Browser_Forward", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser_Home {
get {
object obj = ResourceManager.GetObject("Browser_Home", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser_Refresh {
get {
object obj = ResourceManager.GetObject("Browser_Refresh", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Browser_Stop {
get {
object obj = ResourceManager.GetObject("Browser_Stop", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
================================================
FILE: Sheng.Winform.Controls/IconResource.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Arrow_right_green" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Arrow_right_green.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Browser" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Browser_Back" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser_Back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Browser_Forward" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser_Forward.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Browser_Home" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser_Home.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Browser_Refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser_Refresh.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Browser_Stop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\Browser_Stop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
================================================
FILE: Sheng.Winform.Controls/License/SEControlLicense.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace Sheng.Winform.Controls
{
class SEControlLicense : License
{
private Type _Type;
public SEControlLicense(Type type)
{
if (type == null)
{
throw (new NullReferenceException());
}
_Type = type;
}
public override void Dispose()
{
// 根据需要插入垃圾回收的代码
}
/// <summary>
/// 获取授予该组件的许可证密钥
/// </summary>
public override string LicenseKey
{
get { return (_Type.GUID.ToString()); }
}
}
}
================================================
FILE: Sheng.Winform.Controls/License/SEControlLicenseProvider.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Microsoft.Win32;
namespace Sheng.Winform.Controls
{
class SEControlLicenseProvider : LicenseProvider
{
/// <summary>
/// 0:未验证
/// 1:验证失败
/// 2:验证通过
/// </summary>
//private static ushort _isValid = 0;
public bool IsValid
{
get
{
//TODO:SEControlLicenseProvider
return true;
// using (RegistryKey registryKey =
// Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Sheng.SIMBE\SEControl"))
// {
// object license = registryKey.GetValue("License");
// if (license == null)
// {
// _isValid = 1;
// }
// else
// {
// if (license.ToString() == "sheng")
// _isValid = 2;
// else
// _isValid = 1;
// }
// }
//return _isValid == 2 ? true : false;
}
}
/// <summary>
/// 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
/// </summary>
/// <param name="context"></param>
/// <param name="type"></param>
/// <param name="instance"></param>
/// <param name="allowExceptions"></param>
/// <returns></returns>
public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions)
{
if (context.UsageMode == LicenseUsageMode.Runtime)
{
return new SEControlLicense(type);
}
else if (context.UsageMode == LicenseUsageMode.Designtime)
{
// 限制编辑模式下的许可证(所谓的开发许可证),在这里添加相应的逻辑
if (!IsValid)
throw new LicenseException(type);
else
return new SEControlLicense(type);
}
return (null);
}
}
}
================================================
FILE: Sheng.Winform.Controls/License/TextFile1.txt
================================================
在注册表的
LocalMachine:SOFTWARE\Sheng.SIMBE\SEControl
下,以一个 License 属性保存 sheng ,则允许使用
================================================
FILE: Sheng.Winform.Controls/LocalizedDescription.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Sheng.Winform.Controls.Localisation;
namespace Sheng.Winform.Controls
{
[AttributeUsage(AttributeTargets.All)]
sealed class LocalizedDescriptionAttribute : DescriptionAttribute
{
private bool m_initialized = false;
public LocalizedDescriptionAttribute(string key)
: base(key)
{
}
public override string Description
{
get
{
if (!m_initialized)
{
string key = base.Description;
DescriptionValue = Language.GetString(key);
if (DescriptionValue == null)
DescriptionValue = String.Empty;
m_initialized = true;
}
return DescriptionValue;
}
}
}
[AttributeUsage(AttributeTargets.All)]
sealed class LocalizedCategoryAttribute : CategoryAttribute
{
public LocalizedCategoryAttribute(string key)
: base(key)
{
}
protected override string GetLocalizedString(string key)
{
return Language.GetString(key);
}
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/GripBounds.cs
================================================
using System;
using System.Drawing;
namespace Sheng.Winform.Controls.PopupControl
{
internal struct GripBounds
{
private const int GripSize = 6;
private const int CornerGripSize = GripSize << 1;
public GripBounds(Rectangle clientRectangle)
{
this.clientRectangle = clientRectangle;
}
private Rectangle clientRectangle;
public Rectangle ClientRectangle
{
get { return clientRectangle; }
//set { clientRectangle = value; }
}
public Rectangle Bottom
{
get
{
Rectangle rect = ClientRectangle;
rect.Y = rect.Bottom - GripSize + 1;
rect.Height = GripSize;
return rect;
}
}
public Rectangle BottomRight
{
get
{
Rectangle rect = ClientRectangle;
rect.Y = rect.Bottom - CornerGripSize + 1;
rect.Height = CornerGripSize;
rect.X = rect.Width - CornerGripSize + 1;
rect.Width = CornerGripSize;
return rect;
}
}
public Rectangle Top
{
get
{
Rectangle rect = ClientRectangle;
rect.Height = GripSize;
return rect;
}
}
public Rectangle TopRight
{
get
{
Rectangle rect = ClientRectangle;
rect.Height = CornerGripSize;
rect.X = rect.Width - CornerGripSize + 1;
rect.Width = CornerGripSize;
return rect;
}
}
public Rectangle Left
{
get
{
Rectangle rect = ClientRectangle;
rect.Width = GripSize;
return rect;
}
}
public Rectangle BottomLeft
{
get
{
Rectangle rect = ClientRectangle;
rect.Width = CornerGripSize;
rect.Y = rect.Height - CornerGripSize + 1;
rect.Height = CornerGripSize;
return rect;
}
}
public Rectangle Right
{
get
{
Rectangle rect = ClientRectangle;
rect.X = rect.Right - GripSize + 1;
rect.Width = GripSize;
return rect;
}
}
public Rectangle TopLeft
{
get
{
Rectangle rect = ClientRectangle;
rect.Width = CornerGripSize;
rect.Height = CornerGripSize;
return rect;
}
}
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/NativeMethods.cs
================================================
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Security;
using System.Security.Permissions;
namespace Sheng.Winform.Controls.PopupControl
{
internal static class NativeMethods
{
internal const int WM_NCHITTEST = 0x0084,
WM_NCACTIVATE = 0x0086,
WS_EX_NOACTIVATE = 0x08000000,
HTTRANSPARENT = -1,
HTLEFT = 10,
HTRIGHT = 11,
HTTOP = 12,
HTTOPLEFT = 13,
HTTOPRIGHT = 14,
HTBOTTOM = 15,
HTBOTTOMLEFT = 16,
HTBOTTOMRIGHT = 17,
WM_PRINT = 0x0317,
WM_USER = 0x0400,
WM_REFLECT = WM_USER + 0x1C00,
WM_COMMAND = 0x0111,
CBN_DROPDOWN = 7,
WM_GETMINMAXINFO = 0x0024;
[Flags]
internal enum AnimationFlags : int
{
Roll = 0x0000, // Uses a roll animation.
HorizontalPositive = 0x00001, // Animates the window from left to right. This flag can be used with roll or slide animation.
HorizontalNegative = 0x00002, // Animates the window from right to left. This flag can be used with roll or slide animation.
VerticalPositive = 0x00004, // Animates the window from top to bottom. This flag can be used with roll or slide animation.
VerticalNegative = 0x00008, // Animates the window from bottom to top. This flag can be used with roll or slide animation.
Center = 0x00010, // Makes the window appear to collapse inward if <c>Hide</c> is used or expand outward if the <c>Hide</c> is not used.
Hide = 0x10000, // Hides the window. By default, the window is shown.
Activate = 0x20000, // Activates the window.
Slide = 0x40000, // Uses a slide animation. By default, roll animation is used.
Blend = 0x80000, // Uses a fade effect. This flag can be used only with a top-level window.
Mask = 0xfffff,
}
[SuppressUnmanagedCodeSecurity]
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int AnimateWindow(HandleRef windowHandle, int time, AnimationFlags flags);
internal static void AnimateWindow(Control control, int time, AnimationFlags flags)
{
try
{
SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
sp.Demand();
AnimateWindow(new HandleRef(control, control.Handle), time, flags);
}
catch (SecurityException) { }
}
internal static int HIWORD(int n)
{
return (n >> 16) & 0xffff;
}
internal static int HIWORD(IntPtr n)
{
return HIWORD(unchecked((int)(long)n));
}
internal static int LOWORD(int n)
{
return n & 0xffff;
}
internal static int LOWORD(IntPtr n)
{
return LOWORD(unchecked((int)(long)n));
}
[StructLayout(LayoutKind.Sequential)]
internal struct MINMAXINFO
{
public Point reserved;
public Size maxSize;
public Point maxPosition;
public Size minTrackSize;
public Size maxTrackSize;
}
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/Popup.Designer.cs
================================================
namespace Sheng.Winform.Controls.PopupControl
{
partial class Popup
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
if (content != null)
{
System.Windows.Forms.Control _content = content;
content = null;
_content.Dispose();
}
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/Popup.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Text;
using System.Windows.Forms;
using System.Security.Permissions;
using System.Runtime.InteropServices;
using VS = System.Windows.Forms.VisualStyles;
/*
<li>Base class for custom tooltips.</li>
<li>Office-2007-like tooltip class.</li>
*/
namespace Sheng.Winform.Controls.PopupControl
{
/// <summary>
/// Represents a pop-up window.
/// </summary>
//[CLSCompliant(true), ToolboxItem(false)]
public partial class Popup : ToolStripDropDown
{
#region " Fields & Properties "
private Control content;
/// <summary>
/// Gets the content of the pop-up.
/// </summary>
public Control Content
{
get { return content; }
}
private PopupAnimations showingAnimation;
/// <summary>
/// Determines which animation to use while showing the pop-up window.
/// </summary>
public PopupAnimations ShowingAnimation
{
get { return showingAnimation; }
set { if (showingAnimation != value) showingAnimation = value; }
}
private PopupAnimations hidingAnimation;
/// <summary>
/// Determines which animation to use while hiding the pop-up window.
/// </summary>
public PopupAnimations HidingAnimation
{
get { return hidingAnimation; }
set { if (hidingAnimation != value) hidingAnimation = value; }
}
private int animationDuration;
/// <summary>
/// Determines the duration of the animation.
/// </summary>
public int AnimationDuration
{
get { return animationDuration; }
set { if (animationDuration != value) animationDuration = value; }
}
private bool focusOnOpen = true;
/// <summary>
/// Gets or sets a value indicating whether the content should receive the focus after the pop-up has been opened.
/// </summary>
/// <value><c>true</c> if the content should be focused after the pop-up has been opened; otherwise, <c>false</c>.</value>
/// <remarks>If the FocusOnOpen property is set to <c>false</c>, then pop-up cannot use the fade effect.</remarks>
public bool FocusOnOpen
{
get { return focusOnOpen; }
set { focusOnOpen = value; }
}
private bool acceptAlt = true;
/// <summary>
/// Gets or sets a value indicating whether presing the alt key should close the pop-up.
/// </summary>
/// <value><c>true</c> if presing the alt key does not close the pop-up; otherwise, <c>false</c>.</value>
public bool AcceptAlt
{
get { return acceptAlt; }
set { acceptAlt = value; }
}
private Control opener;
private Popup ownerPopup;
private Popup childPopup;
private bool resizableTop;
private bool resizableLeft;
private bool isChildPopupOpened;
private bool resizable;
/// <summary>
/// Gets or sets a value indicating whether the <see cref="PopupControl.Popup" /> is resizable.
/// </summary>
/// <value><c>true</c> if resizable; otherwise, <c>false</c>.</value>
public bool Resizable
{
get { return resizable && !isChildPopupOpened; }
set { resizable = value; }
}
private ToolStripControlHost host;
private Size minSize;
/// <summary>
/// Gets or sets a minimum size of the pop-up.
/// </summary>
/// <returns>An ordered pair of type <see cref="T:System.Drawing.Size" /> representing the width and height of a rectangle.</returns>
public new Size MinimumSize
{
get { return minSize; }
set { minSize = value; }
}
private Size maxSize;
/// <summary>
/// Gets or sets a maximum size of the pop-up.
/// </summary>
/// <returns>An ordered pair of type <see cref="T:System.Drawing.Size" /> representing the width and height of a rectangle.</returns>
public new Size MaximumSize
{
get { return maxSize; }
set { maxSize = value; }
}
/// <summary>
/// Gets parameters of a new window.
/// </summary>
/// <returns>An object of type <see cref="T:System.Windows.Forms.CreateParams" /> used when creating a new window.</returns>
protected override CreateParams CreateParams
{
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= NativeMethods.WS_EX_NOACTIVATE;
return cp;
}
}
#endregion
#region " Constructors "
/// <summary>
/// Initializes a new instance of the <see cref="PopupControl.Popup"/> class.
/// </summary>
/// <param name="content">The content of the pop-up.</param>
/// <remarks>
/// Pop-up will be disposed immediately after disposion of the content control.
/// </remarks>
/// <exception cref="T:System.ArgumentNullException"><paramref name="content" /> is <code>null</code>.</exception>
public Popup(Control content)
{
if (content == null)
{
throw new ArgumentNullException("content");
}
this.content = content;
this.showingAnimation = PopupAnimations.SystemDefault;
this.hidingAnimation = PopupAnimations.None;
this.animationDuration = 100;
this.isChildPopupOpened = false;
InitializeComponent();
AutoSize = false;
DoubleBuffered = true;
ResizeRedraw = true;
host = new ToolStripControlHost(content);
Padding = Margin = host.Padding = host.Margin = Padding.Empty;
MinimumSize = content.MinimumSize;
content.MinimumSize = content.Size;
MaximumSize = content.MaximumSize;
content.MaximumSize = content.Size;
Size = content.Size;
TabStop = content.TabStop = true;
content.Location = Point.Empty;
Items.Add(host);
content.Disposed += delegate(object sender, EventArgs e)
{
content = null;
Dispose(true);
};
content.RegionChanged += delegate(object sender, EventArgs e)
{
UpdateRegion();
};
content.Paint += delegate(object sender, PaintEventArgs e)
{
PaintSizeGrip(e);
};
UpdateRegion();
}
#endregion
#region " Methods "
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ToolStripItem.VisibleChanged"/> event.
/// </summary>
/// <param name="e">An <see cref="T:System.EventArgs"/> that contains the event data.</param>
protected override void OnVisibleChanged(EventArgs e)
{
base.OnVisibleChanged(e);
if ((Visible && ShowingAnimation == PopupAnimations.None) || (!Visible && HidingAnimation == PopupAnimations.None))
{
return;
}
NativeMethods.AnimationFlags flags = Visible ? NativeMethods.AnimationFlags.Roll : NativeMethods.AnimationFlags.Hide;
PopupAnimations _flags = Visible ? ShowingAnimation : HidingAnimation;
if (_flags == PopupAnimations.SystemDefault)
{
if (SystemInformation.IsMenuAnimationEnabled)
{
if (SystemInformation.IsMenuFadeEnabled)
{
_flags = PopupAnimations.Blend;
}
else
{
_flags = PopupAnimations.Slide | (Visible ? PopupAnimations.TopToBottom : PopupAnimations.BottomToTop);
}
}
else
{
_flags = PopupAnimations.None;
}
}
if ((_flags & (PopupAnimations.Blend | PopupAnimations.Center | PopupAnimations.Roll | PopupAnimations.Slide)) == PopupAnimations.None)
{
return;
}
if (resizableTop) // popup is “inverted”, so the animation must be
{
if ((_flags & PopupAnimations.BottomToTop) != PopupAnimations.None)
{
_flags = (_flags & ~PopupAnimations.BottomToTop) | PopupAnimations.TopToBottom;
}
else if ((_flags & PopupAnimations.TopToBottom) != PopupAnimations.None)
{
_flags = (_flags & ~PopupAnimations.TopToBottom) | PopupAnimations.BottomToTop;
}
}
if (resizableLeft) // popup is “inverted”, so the animation must be
{
if ((_flags & PopupAnimations.RightToLeft) != PopupAnimations.None)
{
_flags = (_flags & ~PopupAnimations.RightToLeft) | PopupAnimations.LeftToRight;
}
else if ((_flags & PopupAnimations.LeftToRight) != PopupAnimations.None)
{
_flags = (_flags & ~PopupAnimations.LeftToRight) | PopupAnimations.RightToLeft;
}
}
flags = flags | (NativeMethods.AnimationFlags.Mask & (NativeMethods.AnimationFlags)(int)_flags);
NativeMethods.AnimateWindow(this, AnimationDuration, flags);
}
/// <summary>
/// Processes a dialog box key.
/// </summary>
/// <param name="keyData">One of the <see cref="T:System.Windows.Forms.Keys" /> values that represents the key to process.</param>
/// <returns>
/// true if the key was processed by the control; otherwise, false.
/// </returns>
[UIPermission(SecurityAction.LinkDemand, Window = UIPermissionWindow.AllWindows)]
protected override bool ProcessDialogKey(Keys keyData)
{
if (acceptAlt && ((keyData & Keys.Alt) == Keys.Alt))
{
if ((keyData & Keys.F4) != Keys.F4)
{
return false;
}
else
{
this.Close();
}
}
bool processed = base.ProcessDialogKey(keyData);
if (!processed && (keyData == Keys.Tab || keyData == (Keys.Tab | Keys.Shift)))
{
bool backward = (keyData & Keys.Shift) == Keys.Shift;
this.Content.SelectNextControl(null, !backward, true, true, true);
}
return processed;
}
/// <summary>
/// Updates the pop-up region.
/// </summary>
protected void UpdateRegion()
{
if (this.Region != null)
{
this.Region.Dispose();
this.Region = null;
}
if (content.Region != null)
{
this.Region = content.Region.Clone();
}
}
/// <summary>
/// Shows the pop-up window below the specified control.
/// </summary>
/// <param name="control">The control below which the pop-up will be shown.</param>
/// <remarks>
/// When there is no space below the specified control, the pop-up control is shown above it.
/// </remarks>
/// <exception cref="T:System.ArgumentNullException"><paramref name="control"/> is <code>null</code>.</exception>
public void Show(Control control)
{
if (control == null)
{
throw new ArgumentNullException("control");
}
Show(control, control.ClientRectangle);
}
/// <summary>
/// Shows the pop-up window below the specified area of the specified control.
/// </summary>
/// <param name="control">The control used to compute screen location of specified area.</param>
/// <param name="area">The area of control below which the pop-up will be shown.</param>
/// <remarks>
/// When there is no space below specified area, the pop-up control is shown above it.
/// </remarks>
/// <exception cref="T:System.ArgumentNullException"><paramref name="control"/> is <code>null</code>.</exception>
public void Show(Control control, Rectangle area)
{
if (control == null)
{
throw new ArgumentNullException("control");
}
SetOwnerItem(control);
resizableTop = resizableLeft = false;
Point location = control.PointToScreen(new Point(area.Left, area.Top + area.Height));
Rectangle screen = Screen.FromControl(control).WorkingArea;
if (location.X + Size.Width > (screen.Left + screen.Width))
{
resizableLeft = true;
location.X = (screen.Left + screen.Width) - Size.Width;
}
if (location.Y + Size.Height > (screen.Top + screen.Height))
{
resizableTop = true;
location.Y -= Size.Height + area.Height;
}
location = control.PointToClient(location);
Show(control, location, ToolStripDropDownDirection.BelowRight);
}
private void SetOwnerItem(Control control)
{
if (control == null)
{
return;
}
if (control is Popup)
{
Popup popupControl = control as Popup;
ownerPopup = popupControl;
ownerPopup.childPopup = this;
OwnerItem = popupControl.Items[0];
return;
}
else if (opener == null)
{
opener = control;
}
if (control.Parent != null)
{
SetOwnerItem(control.Parent);
}
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.Control.SizeChanged" /> event.
/// </summary>
/// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
protected override void OnSizeChanged(EventArgs e)
{
content.MinimumSize = Size;
content.MaximumSize = Size;
content.Size = Size;
content.Location = Point.Empty;
base.OnSizeChanged(e);
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ToolStripDropDown.Opening" /> event.
/// </summary>
/// <param name="e">A <see cref="T:System.ComponentModel.CancelEventArgs" /> that contains the event data.</param>
protected override void OnOpening(CancelEventArgs e)
{
if (content.IsDisposed || content.Disposing)
{
e.Cancel = true;
return;
}
UpdateRegion();
base.OnOpening(e);
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ToolStripDropDown.Opened" /> event.
/// </summary>
/// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
protected override void OnOpened(EventArgs e)
{
if (ownerPopup != null)
{
ownerPopup.isChildPopupOpened = true;
}
if (focusOnOpen)
{
content.Focus();
}
base.OnOpened(e);
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ToolStripDropDown.Closed"/> event.
/// </summary>
/// <param name="e">A <see cref="T:System.Windows.Forms.ToolStripDropDownClosedEventArgs"/> that contains the event data.</param>
protected override void OnClosed(ToolStripDropDownClosedEventArgs e)
{
opener = null;
if (ownerPopup != null)
{
ownerPopup.isChildPopupOpened = false;
}
base.OnClosed(e);
}
#endregion
#region " Resizing Support "
/// <summary>
/// Processes Windows messages.
/// </summary>
/// <param name="m">The Windows <see cref="T:System.Windows.Forms.Message" /> to process.</param>
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
//if (m.Msg == NativeMethods.WM_PRINT && !Visible)
//{
// Visible = true;
//}
if (InternalProcessResizing(ref m, false))
{
return;
}
base.WndProc(ref m);
}
/// <summary>
/// Processes the resizing messages.
/// </summary>
/// <param name="m">The message.</param>
/// <returns>true, if the WndProc method from the base class shouldn't be invoked.</returns>
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public bool ProcessResizing(ref Message m)
{
return InternalProcessResizing(ref m, true);
}
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
private bool InternalProcessResizing(ref Message m, bool contentControl)
{
if (m.Msg == NativeMethods.WM_NCACTIVATE && m.WParam != IntPtr.Zero && childPopup != null && childPopup.Visible)
{
childPopup.Hide();
}
if (!Resizable)
{
return false;
}
if (m.Msg == NativeMethods.WM_NCHITTEST)
{
return OnNcHitTest(ref m, contentControl);
}
else if (m.Msg == NativeMethods.WM_GETMINMAXINFO)
{
return OnGetMinMaxInfo(ref m);
}
return false;
}
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
private bool OnGetMinMaxInfo(ref Message m)
{
NativeMethods.MINMAXINFO minmax = (NativeMethods.MINMAXINFO)Marshal.PtrToStructure(m.LParam, typeof(NativeMethods.MINMAXINFO));
if (!this.MaximumSize.IsEmpty)
{
minmax.maxTrackSize = this.MaximumSize;
}
minmax.minTrackSize = this.MinimumSize;
Marshal.StructureToPtr(minmax, m.LParam, false);
return true;
}
private bool OnNcHitTest(ref Message m, bool contentControl)
{
int x = NativeMethods.LOWORD(m.LParam);
int y = NativeMethods.HIWORD(m.LParam);
Point clientLocation = PointToClient(new Point(x, y));
GripBounds gripBouns = new GripBounds(contentControl ? content.ClientRectangle : ClientRectangle);
IntPtr transparent = new IntPtr(NativeMethods.HTTRANSPARENT);
if (resizableTop)
{
if (resizableLeft && gripBouns.TopLeft.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTTOPLEFT;
return true;
}
if (!resizableLeft && gripBouns.TopRight.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTTOPRIGHT;
return true;
}
if (gripBouns.Top.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTTOP;
return true;
}
}
else
{
if (resizableLeft && gripBouns.BottomLeft.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTBOTTOMLEFT;
return true;
}
if (!resizableLeft && gripBouns.BottomRight.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTBOTTOMRIGHT;
return true;
}
if (gripBouns.Bottom.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTBOTTOM;
return true;
}
}
if (resizableLeft && gripBouns.Left.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTLEFT;
return true;
}
if (!resizableLeft && gripBouns.Right.Contains(clientLocation))
{
m.Result = contentControl ? transparent : (IntPtr)NativeMethods.HTRIGHT;
return true;
}
return false;
}
private VS.VisualStyleRenderer sizeGripRenderer;
/// <summary>
/// Paints the sizing grip.
/// </summary>
/// <param name="e">The <see cref="System.Windows.Forms.PaintEventArgs" /> instance containing the event data.</param>
public void PaintSizeGrip(PaintEventArgs e)
{
if (e == null || e.Graphics == null || !resizable)
{
return;
}
Size clientSize = content.ClientSize;
using (Bitmap gripImage = new Bitmap(0x10, 0x10))
{
using (Graphics g = Graphics.FromImage(gripImage))
{
if (Application.RenderWithVisualStyles)
{
if (this.sizeGripRenderer == null)
{
this.sizeGripRenderer = new VS.VisualStyleRenderer(VS.VisualStyleElement.Status.Gripper.Normal);
}
this.sizeGripRenderer.DrawBackground(g, new Rectangle(0, 0, 0x10, 0x10));
}
else
{
ControlPaint.DrawSizeGrip(g, content.BackColor, 0, 0, 0x10, 0x10);
}
}
GraphicsState gs = e.Graphics.Save();
e.Graphics.ResetTransform();
if (resizableTop)
{
if (resizableLeft)
{
e.Graphics.RotateTransform(180);
e.Graphics.TranslateTransform(-clientSize.Width, -clientSize.Height);
}
else
{
e.Graphics.ScaleTransform(1, -1);
e.Graphics.TranslateTransform(0, -clientSize.Height);
}
}
else if (resizableLeft)
{
e.Graphics.ScaleTransform(-1, 1);
e.Graphics.TranslateTransform(-clientSize.Width, 0);
}
e.Graphics.DrawImage(gripImage, clientSize.Width - 0x10, clientSize.Height - 0x10 + 1, 0x10, 0x10);
e.Graphics.Restore(gs);
}
}
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/PopupAnimation.cs
================================================
using System;
using System.Collections.Generic;
using System.Text;
namespace Sheng.Winform.Controls.PopupControl
{
/// <summary>
/// Types of animation of the pop-up window.
/// </summary>
[Flags]
public enum PopupAnimations : int
{
/// <summary>
/// Uses no animation.
/// </summary>
None = 0,
/// <summary>
/// Animates the window from left to right. This flag can be used with roll or slide animation.
/// </summary>
LeftToRight = 0x00001,
/// <summary>
/// Animates the window from right to left. This flag can be used with roll or slide animation.
/// </summary>
RightToLeft = 0x00002,
/// <summary>
/// Animates the window from top to bottom. This flag can be used with roll or slide animation.
/// </summary>
TopToBottom = 0x00004,
/// <summary>
/// Animates the window from bottom to top. This flag can be used with roll or slide animation.
/// </summary>
BottomToTop = 0x00008,
/// <summary>
/// Makes the window appear to collapse inward if it is hiding or expand outward if the window is showing.
/// </summary>
Center = 0x00010,
/// <summary>
/// Uses a slide animation.
/// </summary>
Slide = 0x40000,
/// <summary>
/// Uses a fade effect.
/// </summary>
Blend = 0x80000,
/// <summary>
/// Uses a roll animation.
/// </summary>
Roll = 0x100000,
/// <summary>
/// Uses a default animation.
/// </summary>
SystemDefault = 0x200000,
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/PopupComboBox.Designer.cs
================================================
namespace Sheng.Winform.Controls.PopupControl
{
partial class PopupComboBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
if (dropDown != null)
{
dropDown.Dispose();
}
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// PopupComboBox
//
this.ResumeLayout(false);
}
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/PopupComboBox.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Permissions;
namespace Sheng.Winform.Controls.PopupControl
{
/// <summary>
/// Represents a Windows combo box control with a custom popup control attached.
/// </summary>
[ToolboxBitmap(typeof(System.Windows.Forms.ComboBox)), ToolboxItem(true), ToolboxItemFilter("System.Windows.Forms"), Description("Displays an editable text box with a drop-down list of permitted values.")]
public partial class PopupComboBox : PopupControlComboBoxBase
{
/// <summary>
/// Initializes a new instance of the <see cref="PopupControl.PopupComboBox" /> class.
/// </summary>
public PopupComboBox()
{
this.dropDownHideTime = DateTime.UtcNow;
InitializeComponent();
base.DropDownHeight = base.DropDownWidth = 1;
base.IntegralHeight = false;
}
private Popup dropDown;
private Control dropDownControl;
/// <summary>
/// Gets or sets the drop down control.
/// </summary>
/// <value>The drop down control.</value>
public Control DropDownControl
{
get
{
return dropDownControl;
}
set
{
if (dropDownControl == value)
{
return;
}
dropDownControl = value;
if (dropDown != null)
{
dropDown.Closed -= dropDown_Closed;
dropDown.Dispose();
}
dropDown = new Popup(value);
dropDown.Closed += dropDown_Closed;
}
}
private DateTime dropDownHideTime;
private void dropDown_Closed(object sender, ToolStripDropDownClosedEventArgs e)
{
dropDownHideTime = DateTime.UtcNow;
}
/// <summary>
/// Gets or sets a value indicating whether the combo box is displaying its drop-down portion.
/// </summary>
/// <value></value>
/// <returns>true if the drop-down portion is displayed; otherwise, false. The default is false.
/// </returns>
public new bool DroppedDown
{
get
{
return dropDown.Visible;
}
set
{
if (DroppedDown)
{
HideDropDown();
}
else
{
ShowDropDown();
}
}
}
/// <summary>
/// Occurs when the drop-down portion of a <see cref="T:System.Windows.Forms.ComboBox"/> is shown.
/// </summary>
public new event EventHandler DropDown;
/// <summary>
/// Shows the drop down.
/// </summary>
public void ShowDropDown()
{
if (dropDown != null)
{
if ((DateTime.UtcNow - dropDownHideTime).TotalSeconds > 0.5)
{
if (DropDown != null)
{
DropDown(this, EventArgs.Empty);
}
dropDown.Show(this);
}
else
{
dropDownHideTime = DateTime.UtcNow.Subtract(new TimeSpan(0, 0, 1));
Focus();
}
}
}
/// <summary>
/// Occurs when the drop-down portion of the <see cref="T:System.Windows.Forms.ComboBox"/> is no longer visible.
/// </summary>
public new event EventHandler DropDownClosed;
/// <summary>
/// Hides the drop down.
/// </summary>
public void HideDropDown()
{
if (dropDown != null)
{
dropDown.Hide();
if (DropDownClosed != null)
{
DropDownClosed(this, EventArgs.Empty);
}
}
}
/// <summary>
/// Processes Windows messages.
/// </summary>
/// <param name="m">The Windows <see cref="T:System.Windows.Forms.Message" /> to process.</param>
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m)
{
if (m.Msg == (NativeMethods.WM_COMMAND + NativeMethods.WM_REFLECT) && NativeMethods.HIWORD(m.WParam) == NativeMethods.CBN_DROPDOWN)
{
ShowDropDown();
return;
}
base.WndProc(ref m);
}
#region " Unused Properties "
/// <summary>This property is not relevant for this class.</summary>
/// <returns>This property is not relevant for this class.</returns>
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
public new int DropDownWidth
{
get { return base.DropDownWidth; }
set { base.DropDownWidth = value; }
}
/// <summary>This property is not relevant for this class.</summary>
/// <returns>This property is not relevant for this class.</returns>
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
public new int DropDownHeight
{
get { return base.DropDownHeight; }
set { base.DropDownHeight = value; }
}
/// <summary>This property is not relevant for this class.</summary>
/// <returns>This property is not relevant for this class.</returns>
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
public new bool IntegralHeight
{
get { return base.IntegralHeight; }
set { base.IntegralHeight = value; }
}
/// <summary>This property is not relevant for this class.</summary>
/// <returns>This property is not relevant for this class.</returns>
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
public new ObjectCollection Items
{
get { return base.Items; }
}
/// <summary>This property is not relevant for this class.</summary>
/// <returns>This property is not relevant for this class.</returns>
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
public new int ItemHeight
{
get { return base.ItemHeight; }
set { base.ItemHeight = value; }
}
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.Designer.cs
================================================
namespace Sheng.Winform.Controls.PopupControl
{
partial class PopupControlComboBoxBase
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// ComboBox
//
this.ResumeLayout(false);
}
#endregion
}
}
================================================
FILE: Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace Sheng.Winform.Controls.PopupControl
{
/// <summary>
/// Represents a Windows combo box control which can be used in a popup's content control.
/// </summary>
[ToolboxBitmap(typeof(System.Windows.Forms.ComboBox)), ToolboxItem(true), ToolboxItemFilter("System.Windows.Forms"), Description("Displays an editable text box with a drop-down list of permitted values.")]
public partial class PopupControlComboBoxBase : System.Windows.Forms.ComboBox
{
/// <summary>
/// Initializes a new instance of the <see cref="PopupControl.ComboBox" /> class.
/// </summary>
public PopupControlComboBoxBase()
{
InitializeComponent();
}
private static Type _modalMenuFilter;
private static Type modalMenuFilter
{
get
{
if (_modalMenuFilter == null)
{
_modalMenuFilter = Type.GetType("System.Windows.Forms.ToolStripManager+ModalMenuFilter");
}
if (_modalMenuFilter == null)
{
_modalMenuFilter = new List<Type>(typeof(ToolStripManager).Assembly.GetTypes()).Find(
delegate(Type type)
{
return type.FullName == "System.Windows.Forms.ToolStripManager+ModalMenuFilter";
});
}
return _modalMenuFilter;
}
}
private static MethodInfo _suspendMenuMode;
private static MethodInfo suspendMenuMode
{
get
{
if (_suspendMenuMode == null)
{
Type t = modalMenuFilter;
if (t != null)
{
_suspendMenuMode = t.GetMethod("SuspendMenuMode", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
}
}
return _suspendMenuMode;
}
}
private static void SuspendMenuMode()
{
MethodInfo suspendMenuMode = PopupControlComboBoxBase.suspendMenuMode;
if (suspendMenuMode != null)
{
suspendMenuMode.Invoke(null, null);
}
}
private static MethodInfo _resumeMenuMode;
private static MethodInfo resumeMenuMode
{
get
{
if (_resumeMenuMode == null)
{
Type t = modalMenuFilter;
if (t != null)
{
_resumeMenuMode = t.GetMethod("ResumeMenuMode", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
}
}
return _resumeMenuMode;
}
}
private static void ResumeMenuMode()
{
MethodInfo resumeMenuMode = PopupControlComboBoxBase.resumeMenuMode;
if (resumeMenuMode != null)
{
resumeMenuMode.Invoke(null, null);
}
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ComboBox.DropDown" /> event.
/// </summary>
/// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
protected override void OnDropDown(EventArgs e)
{
base.OnDropDown(e);
SuspendMenuMode();
}
/// <summary>
/// Raises the <see cref="E:System.Windows.Forms.ComboBox.DropDownClosed" /> event.
/// </summary>
/// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param>
protected override void OnDropDownClosed(EventArgs e)
{
ResumeMenuMode();
base.OnDropDownClosed(e);
}
}
}
================================================
FILE: Sheng.Winform.Controls/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过下列属性集
// 控制。更改这些属性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("SEControl")]
[assembly: AssemblyDescription("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 属性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("0e6ad4d2-2f6b-4055-bd0a-608c2d25c756")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用“*”:
[assembly: AssemblyVersion("1.0.*")]
================================================
FILE: Sheng.Winform.Controls/Properties/Resources.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Sheng.Winform.Controls.Properties {
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Sheng.Winform.Controls.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Check {
get {
object obj = ResourceManager.GetObject("Check", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Folder {
get {
object obj = ResourceManager.GetObject("Folder", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap FolderClosed {
get {
object obj = ResourceManager.GetObject("FolderClosed", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Leaf {
get {
object obj = ResourceManager.GetObject("Leaf", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Minus2 {
get {
object obj = ResourceManager.GetObject("Minus2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Plus2 {
get {
object obj = ResourceManager.GetObject("Plus2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Uncheck {
get {
object obj = ResourceManager.GetObject("Uncheck", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap Unknown {
get {
object obj = ResourceManager.GetObject("Unknown", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
================================================
FILE: Sheng.Winform.Controls/Properties/Resources.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Check" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Check.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Folder.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="FolderClosed" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FolderClosed.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Leaf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Leaf.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Minus2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Minus2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Plus2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Plus2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Uncheck" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Uncheck.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Unknown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Unknown.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
================================================
FILE: Sheng.Winform.Controls/Renderer/Office2010Renderer.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace Sheng.Winform.Controls
{
public static class Office2010Renderer
{
public static Brush CreateDisabledBackgroundBrush(Rectangle bounds, Color baseColor)
{
Color color = Color.FromArgb(75, baseColor);
SolidBrush brush = new SolidBrush(color);
return brush;
}
public static Brush CreateBackgroundBrush(Rectangle bounds, Color baseColor)
{
Color color = baseColor;
Color[] colors = new Color[3];
colors[0] = Color.Transparent;
colors[1] = Color.Transparent;
colors[2] = Color.FromArgb(60, color);
//要向上移一个像素,否则上面会多出一个像素的空白,原因不明
//bounds.X -= 1;
//bounds.Y -= 1;
LinearGradientBrush brush = new LinearGradientBrush(bounds, Color.Empty, Color.Empty,
LinearGradientMode.Vertical);
//渐变位置百分比
float[] relativePositions = { 0f, 0.75f, 1f, };
ColorBlend colorBlend = new ColorBlend();
colorBlend.Colors = colors;
colorBlend.Positions = relativePositions;
brush.InterpolationColors = colorBlend;
return brush;
}
public static Brush CreateBorderBrush(Rectangle bounds, Color baseColor)
{
Color color = baseColor;
Color colorStart = Color.FromArgb(125, color);
LinearGradientBrush brush = new LinearGradientBrush(bounds, colorStart, color,
LinearGradientMode.Vertical);
return brush;
}
public static Brush CreateHoveredBackgroundBrush(Rectangle bounds, Color baseColor)
{
//过渡色的路径点和配色参见png设计图
//需要五个过度色点,就是分成四段,分别占34%,33%,16%,17%
Color color = baseColor;
Color[] colors = new Color[5];
colors[0] = Color.FromArgb(125, color);
colors[1] = color;
colors[2] = color;
colors[3] = Color.FromArgb(221, color);
colors[4] = Color.Transparent;
//要向上移一个像素,否则上面会多出一个像素的空白,原因不明
bounds.X -= 1;
bounds.Y -= 1;
LinearGradientBrush brush = new LinearGradientBrush(bounds, Color.Empty, Color.Empty,
LinearGradientMode.Vertical);
//渐变位置百分比
float[] relativePositions = { 0f, 0.20f, 0.67f, 0.75f, 1f, };
ColorBlend colorBlend = new ColorBlend();
colorBlend.Colors = colors;
colorBlend.Positions = relativePositions;
brush.InterpolationColors = colorBlend;
return brush;
}
public static Brush CreateHoveredBorderBrush(Rectangle bounds, Color baseColor)
{
Color color = baseColor;
Color colorEnd = Color.FromArgb(125, color);
LinearGradientBrush brush = new LinearGradientBrush(bounds, color, colorEnd,
LinearGradientMode.Vertical);
return brush;
}
public static Brush CreateSelectedBackgroundBrush(Rectangle bounds, Color baseColor)
{
//过渡色的路径点和配色参见png设计图
//需要五个过度色点,就是分成四段,分别占34%,33%,16%,17%
Color color = baseColor;
Color[] colors = new Color[5];
colors[0] = color;
colors[1] = color;
colors[2] = color;
colors[3] = Color.FromArgb(221, color);
colors[4] = Color.Transparent;
//要向上移一个像素,否则上面会多出一个像素的空白,原因不明
//bounds.X -= 1;
//bounds.Y -= 1;
LinearGradientBrush brush = new LinearGradientBrush(bounds, Color.Empty, Color.Empty,
LinearGradientMode.Vertical);
//渐变位置百分比
float[] relativePositions = { 0f, 0.30f, 0.67f, 0.75f, 1f };
ColorBlend colorBlend = new ColorBlend();
colorBlend.Colors = colors;
colorBlend.Positions = relativePositions;
brush.InterpolationColors = colorBlend;
return brush;
}
public static Brush CreateSelectedBorderBrush(Rectangle bounds, Color baseColor)
{
Color color = baseColor;
Color colorEnd = Color.FromArgb(125, color);
LinearGradientBrush brush = new LinearGradientBrush(bounds, color, colorEnd,
LinearGradientMode.Vertical);
return brush;
}
}
}
================================================
FILE: Sheng.Winform.Controls/Renderer/SEToolStripProfessionalRenderer_Gary.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace Sheng.Winform.Controls
{
/// <summary>
/// 白色到灰色的垂直渐变
/// </summary>
public class SEToolStripProfessionalRenderer_Gary : ToolStripProfessionalRenderer
{
static SEToolStripProfessionalRenderer_Gary()
{
}
public SEToolStripProfessionalRenderer_Gary()
{
}
//// This method handles the RenderGrip event.
//protected override void OnRenderGrip(ToolStripGripRenderEventArgs e)
//{
// DrawTitleBar(
// e.Graphics,
// new Rectangle(0, 0, e.ToolStrip.Width, 7));
//}
//// This method handles the RenderToolStripBorder event.
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.FromArgb(163, 163, 124)), 0, e.ToolStrip.Height, e.ToolStrip.Width, e.ToolStrip.Height);
}
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
{
//DrawTitleBar(
// e.Graphics,
// new Rectangle(0, 0, e.ToolStrip.Width, e.ToolStrip.Height));
if (e.ToolStrip.GetType().Name == "ToolStrip")
{
LinearGradientBrush brush = new LinearGradientBrush
(new Point(0, 0), new Point(0, e.ToolStrip.Height), Color.White, Color.FromArgb(230, 225, 202));
e.Graphics.FillRectangle(brush, new Rectangle(0, 0, e.ToolStrip.Width, e.ToolStrip.Height));
brush.Dispose();
}
else
{
//如果不是工具栏本身,比如下拉菜单什么的,就调默认的绘制背景
base.OnRenderToolStripBackground(e);
}
}
}
}
================================================
FILE: Sheng.Winform.Controls/Renderer/SEToolStripRender.cs
================================================
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Sheng.Winform.Controls
{
#region "EasyRender based renderer class"
/// <summary>
/// A ToolstripManager rendering class with advanced control features
/// </summary>
public class SEToolStripRender : ToolStripProfessionalRenderer
{
#region "Initialization and Setup"
/// <summary>
/// Creates a new EasyRender class for modifications
/// </summary>
public SEToolStripRender()
{
_tsManager = new IToolstrip();
_btnManager = new IButton();
_dBtnManager = new IDropDownButton();
_tsCtrlManager = new IToolstripControls();
_pManager = new IPanel();
_sBtnManager = new ISplitButton();
_sBarManager = new IStatusBar();
_mnuManager = new IMenustrip();
}
#endregion
#region "Private variables"
private IToolstrip _tsManager = null;
private IButton _btnManager = null;
private IToolstripControls _tsCtrlManager = null;
private IPanel _pManager = null;
private ISplitButton _sBtnManager = null;
private IStatusBar _sBarManager = null;
private IMenustrip _mnuManager = null;
private IDropDownButton _dBtnManager = null;
protected Boolean _smoothText = true;
protected Color _overrideColor = Color.FromArgb(47, 92, 150);
protected Boolean _overrideText = true;
#endregion
#region "Properties"
/// <summary>
/// Gets the manager to edit and change the appearance of the Toolstrip
/// </summary>
[ReadOnly(true)]
public IToolstrip Toolstrip
{
get
{
return _tsManager;
}
}
/// <summary>
/// Gets the manager to edit and change the appearance of Toolstrip buttons
/// </summary>
[ReadOnly(true)]
public IButton ToolstripButton
{
get
{
return _btnManager;
}
}
/// <summary>
/// Gets the manager to edit and change the appearance of other Toolstrip controls
/// </summary>
[ReadOnly(true)]
public IToolstripControls ToolstripControls
{
get { return _tsCtrlManager; }
}
/// <summary>
/// Gets the manager to edit and change the appearance of the Panels
/// </summary>
[ReadOnly(true)]
public IPanel Panels
{
get { return _pManager; }
}
/// <summary>
/// Gets the manager to edit and change the appearance of the Toolstrip split buttons
/// </summary>
[ReadOnly(true)]
public ISplitButton SplitButton
{
get { return _sBtnManager; }
}
/// <summary>
/// Gets the manager to edit and change the appearance of the Status-bar
/// </summary>
[ReadOnly(true)]
public IStatusBar StatusBar
{
get { return _sBarManager; }
}
/// <summary>
/// Gets or sets whether to smooth the font text on all controls
/// </summary>
public Boolean SmoothText
{
get { return _smoothText; }
set { _smoothText = value; }
}
/// <summary>
/// Gets or sets the color of the text if the AlterColor is set to true
/// </summary>
public Color OverrideColor
{
get { return _overrideColor; }
set { _overrideColor = value; }
}
/// <summary>
/// Gets or sets whether to override the font-color on all controls
/// </summary>
public Boolean AlterColor
{
get { return _overrideText; }
set { _overrideText = value; }
}
#endregion
#region "Important -- Functions for getting drawing pointers"
#region "CreatePanelBrush -- Gets a brush based on the docking position of a panel"
/*
/// <summary>
/// Gets a brush dependent on the dock style of a panel
/// </summary>
/// <param name="Panel">The panel which is docked</param>
/// <returns></returns>
private Brush CreatePanelBrush(ToolStripPanel Panel)
{
switch (Panel.Dock)
{
case DockStyle.Top: return new SolidBrush(ContentPanelTop);
case DockStyle.Bottom: return new SolidBrush(ContentPanelBottom);
case DockStyle.Left:
case DockStyle.Right:
return new LinearGradientBrush(Panel.ClientRectangle, ContentPanelTop, ContentPanelBottom, 90f);
}
return null;
}
*/
#endregion
#region "CreateDrawingPath -- Gets a path based on a rectangular area and a provided curve value"
/// <summary>
/// Creates a GraphicsPath that appreciates an area where things can be drawn
/// </summary>
/// <param name="Area">The rectangular area which will serve as the base</param>
/// <param name="Curve">The curve amount of the corners</param>
/// <returns></returns>
private GraphicsPath CreateDrawingPath(Rectangle Area, float Curve)
{
GraphicsPath Result = new GraphicsPath();
Result.AddLine(Area.Left + Curve, Area.Top, Area.Right - Curve, Area.Top); // Top
Result.AddLine(Area.Right - Curve, Area.Top, Area.Right, Area.Top + Curve); // Top-right
Result.AddLine(Area.Right, Area.Top + Curve, Area.Right, Area.Bottom - Curve); // Right
Result.AddLine(Area.Right, Area.Bottom - Curve, Area.Right - Curve, Area.Bottom); // Bottom-right
Result.AddLine(Area.Right - Curve, Area.Bottom, Area.Left + Curve, Area.Bottom); // Bottom
Result.AddLine(Area.Left + Curve, Area.Bottom, Area.Left, Area.Bottom - Curve); // Bottom-left
Result.AddLine(Area.Left, Area.Bottom - Curve, Area.Left, Area.Top + Curve); // Left
Result.AddLine(Area.Left, Area.Top + Curve, Area.Left + Curve, Area.Top); // Top-left
return Result;
}
#endregion
#region "CreateTrianglePath -- Gets a path based on a rectangle boundary as a triangle shape"
/// <summary>
/// Creates a triangle based on the size and bounds sectors
/// </summary>
/// <param name="Bounds">The area which the triangle is confined to</param>
/// <param name="Size">The size of the triangle</param>
/// <param name="Direction">The direction which the triangle is pointing</param>
/// <returns></returns>
private GraphicsPath CreateTrianglePath(Rectangle Bounds, Int32 Size, ArrowDirection Direction)
{
GraphicsPath Result = new GraphicsPath();
int x, y, c, j;
if (Direction == ArrowDirection.Left || Direction == ArrowDirection.Right)
{
x = Bounds.Right - (Bounds.Width - Size) / 2;
y = Bounds.Y + Bounds.Height / 2;
c = Size;
j = 0;
}
else
{
x = Bounds.X + Bounds.Width / 2;
y = Bounds.Bottom - ((Bounds.Height - (Size - 1)) / 2);
c = Size - 1;
j = Size - 2;
}
switch (Direction)
{
case ArrowDirection.Right:
Result.AddLine(x, y, x - c, y - c);
Result.AddLine(x - c, y - c, x - c, y + c);
Result.AddLine(x - c, y + c, x, y);
break;
case ArrowDirection.Down:
Result.AddLine(x + j, y - j, x - j, y - j);
Result.AddLine(x - j, y - j, x, y);
Result.AddLine(x, y, x + j, y - j);
break;
case ArrowDirection.Left:
Result.AddLine(x - c, y, x, y - c);
Result.AddLine(x, y - c, x, y + c);
Result.AddLine(x, y + c, x - c, y);
break;
}
return Result;
}
#endregion
#region "GetButtonBackColor -- Returns different background gradient colors for a normal button state"
/// <summary>
/// Gets a color array based on the state of a normal button
/// </summary>
/// <param name="Item">The button to check the state of</param>
/// <returns></returns>
private Color[] GetButtonBackColor(ToolStripButton Item, ButtonType Type)
{
Color[] Return = new Color[2];
if (
(!Item.Selected) &&
(!Item.Pressed && !Item.Checked)
)
{
Return[0] = Color.Transparent;
Return[1] = Color.Transparent;
}
else if (
(Item.Selected) &&
(!Item.Pressed && !Item.Checked)
)
{
Return[0] = _btnManager.HoverBackgroundTop;
Return[1] = _btnManager.HoverBackgroundBottom;
}
else
{
Return[0] = _btnManager.ClickBackgroundTop;
Return[1] = _btnManager.ClickBackgroundBottom;
}
return Return;
}
#endregion
#region "GetButtonBackColor -- Returns different background gradient colors for a split-button state"
/// <summary>
/// Gets a color array based on the state of a split-button
/// </summary>
/// <param name="Item">The button to check the state of</param>
/// <returns></returns>
private Color[] GetButtonBackColor(ToolStripSplitButton Item, ButtonType Type)
{
Color[] Return = new Color[2];
if (
(!Item.Selected) &&
(!Item.ButtonPressed && !Item.DropDownButtonPressed)
)
{
Return[0] = Color.Transparent;
Return[1] = Color.Transparent;
}
else if (
(Item.Selected) &&
(!Item.ButtonPressed && !Item.DropDownButtonPressed)
)
{
Return[0] = _sBtnManager.HoverBackgroundTop;
Return[1] = _sBtnManager.HoverBackgroundBottom;
}
else
{
if (Item.ButtonPressed)
{
Return[0] = _sBtnManager.ClickBackgroundTop;
Return[1] = _sBtnManager.ClickBackgroundBottom;
}
else if (Item.DropDownButtonPressed)
{
Return[0] = _mnuManager.MenustripButtonBackground;
Return[1] = _mnuManager.MenustripButtonBackground;
}
}
return Return;
}
#endregion
#region "GetButtonBackColor -- Returns different background gradient colors for a menu-item state"
/// <summary>
/// Gets a color array based on the state of a menu-item
/// </summary>
/// <param name="Item">The button to check the state of</param>
/// <returns></returns>
private Color[] GetButtonBackColor(ToolStripMenuItem Item, ButtonType Type)
{
Color[] Return = new Color[2];
if (
(!Item.Selected) &&
(!Item.Pressed && !Item.Checked)
)
{
Return[0] = Color.Transparent;
Return[1] = Color.Transparent;
}
else if (
(Item.Selected || Item.Pressed) &&
(!Item.Checked)
)
{
if (Item.Pressed && Item.OwnerItem == null)
{
Return[0] = _mnuManager.MenustripButtonBackground;
Return[1] = _mnuManager.MenustripButtonBackground;
}
else
{
Return[0] = _mnuManager.Items.HoverBackgroundTop;
Return[1] = _mnuManager.Items.HoverBackgroundBottom;
}
}
else
{
Return[0] = _mnuManager.Items.ClickBackgroundTop;
Return[1] = _mnuManager.Items.ClickBackgroundBottom;
}
return Return;
}
#endregion
#region "GetButtonBackColor -- Returns different background gradient colors for a dropdownbutton state"
/// <summary>
/// Gets a color array based on the state of a drop-down button
/// </summary>
/// <param name="Item">The button to check the state of</param>
/// <returns></returns>
private Color[] GetButtonBackColor(ToolStripDropDownButton Item, ButtonType Type)
{
Color[] Return = new Color[2];
if (
(!Item.Selected) &&
(!Item.Pressed)
)
{
Return[0] = Color.Transparent;
Return[1] = Color.Transparent;
}
else if (
(Item.Selected) &&
(!Item.Pressed)
)
{
Return[0] = _dBtnManager.HoverBackgroundTop;
Return[1] = _dBtnManager.HoverBackgroundBottom;
}
else
{
Return[0] = _mnuManager.MenustripButtonBackground;
Return[1] = _mnuManager.MenustripButtonBackground;
}
return Return;
}
#endregion
#region "GetBlend -- Gets a blend property based on the blending options and current state"
/// <summary>
/// Gets a blending property for a specified type of Toolstrip item
/// </summary>
/// <param name="TSItem">The Toolstrip item</param>
/// <param name="Type">The type of item this is</param>
/// <returns></returns>
private Blend GetBlend(ToolStripItem TSItem, ButtonType Type)
{
Blend BackBlend = null;
if (Type == ButtonType.NormalButton)
{
ToolStripButton Item = (ToolStripButton)TSItem;
if (Item.Selected &&
(!Item.Checked && !Item.Pressed) &&
(_btnManager.BlendOptions & BlendRender.Hover) == BlendRender.Hover)
{
BackBlend = _btnManager.BackgroundBlend;
}
else if (Item.Pressed &&
(!Item.Checked) &&
(_btnManager.BlendOptions & BlendRender.Click) == BlendRender.Click)
{
BackBlend = _btnManager.BackgroundBlend;
}
else if (Item.Checked &&
(_btnManager.BlendOptions & BlendRender.Check) == BlendRender.Check)
{
BackBlend = _btnManager.BackgroundBlend;
}
}
if (Type == ButtonType.DropDownButton)
{
ToolStripDropDownButton Item = (ToolStripDropDownButton)TSItem;
if (Item.Selected &&
(!Item.Pressed) &&
(_btnManager.BlendOptions & BlendRender.Hover) == BlendRender.Hover)
{
BackBlend = _btnManager.BackgroundBlend;
}
}
else if (Type == ButtonType.MenuItem)
{
ToolStripMenuItem Item = (ToolStripMenuItem)TSItem;
if (Item.Selected &&
(!Item.Checked && !Item.Pressed) &&
(_btnManager.BlendOptions & BlendRender.Hover) == BlendRender.Hover)
{
BackBlend = _mnuManager.Items.BackgroundBlend;
}
else if (Item.Pressed &&
(!Item.Checked) &&
(_btnManager.BlendOptions & BlendRender.Click) == BlendRender.Click)
{
BackBlend = _mnuManager.Items.BackgroundBlend;
}
else if (Item.Checked &&
(_btnManager.BlendOptions & BlendRender.Check) == BlendRender.Check)
{
BackBlend = _mnuManager.Items.BackgroundBlend;
}
}
else if (Type == ButtonType.SplitButton)
{
ToolStripSplitButton Item = (ToolStripSplitButton)TSItem;
if (Item.Selected &&
(!Item.ButtonPressed && !Item.DropDownButtonPressed) &&
(_sBtnManager.BlendOptions & BlendRender.Hover) == BlendRender.Hover)
{
BackBlend = _sBtnManager.BackgroundBlend;
}
else if (Item.ButtonPressed &&
(!Item.DropDownButtonPressed) &&
(_sBtnManager.BlendOptions & BlendRender.Click) == BlendRender.Click)
{
BackBlend = _sBtnManager.BackgroundBlend;
}
}
return BackBlend;
}
#endregion
#endregion
#region "Important -- Functions for drawing"
#region "PaintBackground -- Simply fills a rectangle with a color"
/// <summary>
/// Fills a specified boundary with color
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Boundary">The boundaries to draw the color</param>
/// <param name="Brush">The brush to fill the color</param>
public void PaintBackground(Graphics Link, Rectangle Boundary, Brush Brush)
{
Link.FillRectangle(Brush, Boundary);
}
#endregion
#region "PaintBackground -- Fills a rectangle with Top and Bottom colors"
/// <summary>
/// Fills a specified boundary with a gradient with specified colors
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Boundary">The boundaries to draw the color</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
public void PaintBackground(Graphics Link, Rectangle Boundary, Color Top, Color Bottom)
{
PaintBackground(Link, Boundary, Top, Bottom, 90f, null);
}
#endregion
#region "PaintBackground -- Fills a rectangle with Top and Bottom colors at a given angle"
/// <summary>
/// Fills a specified boundary with a gradient with specified colors at a given angle
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Boundary">The boundaries to draw the color</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
/// <param name="Angle">The angle which the gradient is drawn (null defaults to 90f)</param>
public void PaintBackground(Graphics Link, Rectangle Boundary, Color Top, Color Bottom, float Angle)
{
PaintBackground(Link, Boundary, Top, Bottom, Angle, null);
}
#endregion
#region "PaintBackground -- Fills a rectangle with Top and Bottom colors at a given angle with blending"
/// <summary>
/// Fills a specified boundary with a gradient with specified colors at a given angle and with blending properties
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Boundary">The boundaries to draw the color</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
/// <param name="Angle">The angle which the gradient is drawn (null defaults to 90f)</param>
/// <param name="Blend">The blending options to draw the gradient</param>
public void PaintBackground(Graphics Link, Rectangle Boundary, Color Top, Color Bottom, float Angle, Blend Blend)
{
if ( float.IsNaN(Angle))
{
Angle = 90f;
}
using (LinearGradientBrush Fill = new LinearGradientBrush(Boundary, Top, Bottom, Angle))
{
if (Blend != null)
{
Fill.Blend = Blend;
}
Link.FillRectangle(Fill, Boundary);
Fill.Dispose();
}
}
#endregion
#region "PaintBorder -- Draws a border along a set path"
/// <summary>
/// Draws a set path with a defined brush
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Path">The path to draw along</param>
/// <param name="Brush">The brush to fill the color</param>
public void PaintBorder(Graphics Link, GraphicsPath Path, Brush Brush)
{
Link.DrawPath(new Pen(Brush), Path);
}
#endregion
#region "PaintBorder -- Draws a border along a set path with Top and Bottom colors"
/// <summary>
/// Draws a set path with specified colors
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Path">The path to draw along</param>
/// <param name="Area">The area of span the border gradient covers</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Area, Color Top, Color Bottom)
{
PaintBorder(Link, Path, Area, Top, Bottom, 90f, null);
}
#endregion
#region "PaintBorder -- Draws a border along a set path with Top and Bottom colors at a given angle"
/// <summary>
/// Draws a set path with specified colors at a given angle
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Path">The path to draw along</param>
/// <param name="Area">The area of span the border gradient covers</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
/// <param name="Angle">The angle which the gradient is drawn (null defaults to 90f)</param>
public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Area, Color Top, Color Bottom, float Angle)
{
PaintBorder(Link, Path, Area, Top, Bottom, Angle, null);
}
#endregion
#region "PaintBorder -- Draws a border along a set path with Top and Bottom colors at a given angle with blending"
/// <summary>
/// Draws a set path with specified colors at a given angle with blending properties
/// </summary>
/// <param name="Link">The Graphics object to draw onto</param>
/// <param name="Path">The path to draw along</param>
/// <param name="Top">The color of the gradient at the top</param>
/// <param name="Bottom">The color of the gradient at the bottom</param>
/// <param name="Angle">The angle which the gradient is drawn (null defaults to 90f)</param>
/// <param name="Blend">The blending options to draw the gradient</param>
public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Area, Color Top, Color Bottom, float Angle, Blend Blend)
{
if (float.IsNaN(Angle))
{
Angle = 90f;
}
using (LinearGradientBrush Fill = new LinearGradientBrush(Area, Top, Bottom, Angle))
{
if (Blend != null)
{
Fill.Blend = Blend;
}
Link.DrawPath(new Pen(Fill), Path);
Fill.Dispose();
}
}
#endregion
#endregion
#region "Important -- Functions handling the OnRender delegations"
#region "IDrawToolstripButton -- Draws a Toolstrip button applying the backround and border"
/// <summary>
/// Draws a Toolstrip button
/// </summary>
/// <param name="Item">The Toolstrip button</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Parent">The parent Toolstrip</param>
public void IDrawToolstripButton(ToolStripButton Item, Graphics Link, ToolStrip Parent)
{
Rectangle Area = new Rectangle(
new Point(0, 0),
new Size(Item.Bounds.Size.Width - 1, Item.Bounds.Size.Height - 1)
);
Blend BackBlend = GetBlend(Item, ButtonType.NormalButton);
Color[] Render = GetButtonBackColor(Item, ButtonType.NormalButton);
using (GraphicsPath Path = CreateDrawingPath(Area, _btnManager.Curve))
{
Link.SetClip(Path);
PaintBackground(
Link,
Area,
Render[0],
Render[1],
_btnManager.BackgroundAngle,
BackBlend
);
Link.ResetClip();
Link.SmoothingMode = SmoothingMode.AntiAlias;
using (GraphicsPath OBPath = CreateDrawingPath(Area, _btnManager.Curve))
{
PaintBorder(
Link,
OBPath,
Area,
_btnManager.BorderTop,
_btnManager.BorderBottom,
_btnManager.BorderAngle,
_btnManager.BorderBlend
);
OBPath.Dispose();
}
Area.Inflate(-1, -1);
using (GraphicsPath IBPath = CreateDrawingPath(Area, _btnManager.Curve))
{
using (SolidBrush InnerBorder = new SolidBrush(_btnManager.InnerBorder))
{
PaintBorder(
Link,
IBPath,
InnerBorder
);
InnerBorder.Dispose();
}
}
Link.SmoothingMode = SmoothingMode.Default;
}
}
#endregion
#region "IDrawDropDownButton -- Draws a Toolstrip dropdownbutton applying the backround and border"
/// <summary>
/// Draws a Toolstrip button
/// </summary>
/// <param name="Item">The Toolstrip button</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Parent">The parent Toolstrip</param>
public void IDrawDropDownButton(ToolStripDropDownButton Item, Graphics Link, ToolStrip Parent)
{
Rectangle Area = new Rectangle(
new Point(0, 0),
new Size(Item.Bounds.Size.Width - 1, Item.Bounds.Size.Height - 1)
);
Blend BackBlend = GetBlend(Item, ButtonType.DropDownButton);
Color[] Render = GetButtonBackColor(Item, ButtonType.DropDownButton);
using (GraphicsPath Path = CreateDrawingPath(Area, _btnManager.Curve))
{
Link.SetClip(Path);
PaintBackground(
Link,
Area,
Render[0],
Render[1],
_btnManager.BackgroundAngle,
BackBlend
);
Link.ResetClip();
Link.SmoothingMode = SmoothingMode.AntiAlias;
using (GraphicsPath OBPath = CreateDrawingPath(Area, _btnManager.Curve))
{
PaintBorder(
Link,
OBPath,
Area,
_btnManager.BorderTop,
_btnManager.BorderBottom,
_btnManager.BorderAngle,
_btnManager.BorderBlend
);
OBPath.Dispose();
}
if (!Item.Pressed)
{
Area.Inflate(-1, -1);
using (GraphicsPath IBPath = CreateDrawingPath(Area, _dBtnManager.Curve))
{
using (SolidBrush InnerBorder = new SolidBrush(_dBtnManager.InnerBorder))
{
PaintBorder(
Link,
IBPath,
InnerBorder
);
InnerBorder.Dispose();
}
}
}
Link.SmoothingMode = SmoothingMode.Default;
}
}
#endregion
#region "IDrawToolstripBackground -- Draws a Toolstrip background"
/// <summary>
/// Draws the Toolstrip background
/// </summary>
/// <param name="Item">The Toolstrip being drawn</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Bounds">The affected bounds</param>
public void IDrawToolstripBackground(ToolStrip Item, Graphics Link, Rectangle Bounds)
{
Rectangle Area = new Rectangle(
0,
0,
Bounds.Width - 1,
Bounds.Height - 1
);
Link.SmoothingMode = SmoothingMode.None;
using (GraphicsPath Path = CreateDrawingPath(Area, _tsManager.Curve))
{
Link.SetClip(Path);
PaintBackground(
Link,
Area,
_tsManager.BackgroundTop,
_tsManager.BackgroundBottom,
_tsManager.BackgroundAngle,
_tsManager.BackgroundBlend
);
Link.ResetClip();
Path.Dispose();
}
}
#endregion
#region "IDrawToolstripSplitButton -- Draws a Toolstrip split-button with the arrow"
/// <summary>
/// Draws a Toolstrip split-button
/// </summary>
/// <param name="Item">The Toolstrip split-button</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Parent">The parent Toolstrip</param>
public void IDrawToolstripSplitButton(ToolStripSplitButton Item, Graphics Link, ToolStrip Parent)
{
if (Item.Selected || Item.DropDownButtonPressed || Item.ButtonPressed)
{
Rectangle Area = new Rectangle(
new Point(0, 0),
new Size(Item.Bounds.Size.Width - 1, Item.Bounds.Size.Height - 1)
);
Blend BackBlend = GetBlend(Item, ButtonType.SplitButton);
Color[] NormalRender = new Color[] { _sBtnManager.HoverBackgroundTop, _sBtnManager.HoverBackgroundBottom };
Color[] Render = GetButtonBackColor(Item, ButtonType.SplitButton);
using (GraphicsPath Path = CreateDrawingPath(Area, _sBtnManager.Curve))
{
Link.SetClip(Path);
if (!Item.DropDownButtonPressed)
{
PaintBackground(
Link,
Area,
NormalRender[0],
NormalRender[1],
_sBtnManager.BackgroundAngle,
BackBlend
);
}
else
{
PaintBackground(
Link,
Area,
Render[0],
Render[1]
);
}
if (Item.ButtonPressed)
{
Rectangle ButtonArea = new Rectangle(
new Point(0, 0),
new Size(Item.ButtonBounds.Width, Item.ButtonBounds.Height - 1)
);
PaintBackground(
Link,
ButtonArea,
Render[0],
Render[1],
_sBtnManager.BackgroundAngle,
_sBtnManager.BackgroundBlend
);
}
Link.ResetClip();
Link.SmoothingMode = SmoothingMode.AntiAlias;
using (GraphicsPath OBPath = CreateDrawingPath(Area, _sBtnManager.Curve))
{
Color TopColor = (Item.DropDownButtonPressed ? _mnuManager.MenustripButtonBorder : _sBtnManager.BorderTop);
Color BottomColor = (Item.DropDownButtonPressed ? _mnuManager.MenustripButtonBorder : _sBtnManager.BorderBottom);
PaintBorder(
Link,
OBPath,
Area,
TopColor,
BottomColor,
_sBtnManager.BorderAngle,
_sBtnManager.BorderBlend
);
OBPath.Dispose();
}
if (!Item.DropDownButtonPressed)
{
Area.Inflate(-1, -1);
using (GraphicsPath IBPath = CreateDrawingPath(Area, _sBtnManager.Curve))
{
using (SolidBrush InnerBorder = new SolidBrush(_sBtnManager.InnerBorder))
{
PaintBorder(
Link,
IBPath,
InnerBorder
);
Link.DrawRectangle(
new Pen(_sBtnManager.InnerBorder),
new Rectangle(
Item.ButtonBounds.Width,
1,
2,
Item.ButtonBounds.Height - 3
)
);
InnerBorder.Dispose();
}
}
using (LinearGradientBrush SplitLine = new LinearGradientBrush(
new Rectangle(0, 0, 1, Item.Height),
_sBtnManager.BorderTop,
_sBtnManager.BorderBottom,
_sBtnManager.BackgroundAngle
))
{
if (_sBtnManager.BackgroundBlend != null)
{
SplitLine.Blend = _sBtnManager.BackgroundBlend;
}
Link.DrawLine(
new Pen(SplitLine),
Item.ButtonBounds.Width + 1,
0,
Item.ButtonBounds.Width + 1,
Item.Height - 1
);
SplitLine.Dispose();
}
}
Link.SmoothingMode = SmoothingMode.Default;
}
}
Int32 ArrowSize = 5;
if (
(_sBtnManager.ArrowDisplay == ArrowDisplay.Always) ||
(_sBtnManager.ArrowDisplay == ArrowDisplay.Hover && Item.Selected)
)
{
using (GraphicsPath TrianglePath = CreateTrianglePath(
new Rectangle(
Item.DropDownButtonBounds.Left + (ArrowSize / 2) - 1,
(Item.DropDownButtonBounds.Height / 2) - (ArrowSize / 2) - 3,
ArrowSize * 2,
ArrowSize * 2
),
ArrowSize,
ArrowDirection.Down
))
{
Link.FillPath(new SolidBrush(_sBtnManager.ArrowColor), TrianglePath);
TrianglePath.Dispose();
}
}
}
#endregion
#region "IDrawStatusbarBackground -- Draws the statusbar background"
/// <summary>
/// Draws the Statusbar background
/// </summary>
/// <param name="Item">The Statusbar being drawn</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Bounds">The affected bounds</param>
public void IDrawStatusbarBackground(StatusStrip Item, Graphics Link, Rectangle Bounds)
{
PaintBackground(
Link,
Bounds,
_sBarManager.BackgroundTop,
_sBarManager.BackgroundBottom,
_sBarManager.BackgroundAngle,
_sBarManager.BackgroundBlend
);
Link.DrawLine(
new Pen(_sBarManager.DarkBorder),
0, 0, Bounds.Width, 0
);
Link.DrawLine(
new Pen(_sBarManager.LightBorder),
0, 1, Bounds.Width, 1
);
}
#endregion
#region "IDrawMenustripItem -- Draws a Menustrip item applying the background and border"
/// <summary>
/// Draws a Menustrip item
/// </summary>
/// <param name="Item">The Menustrip item</param>
/// <param name="Link">The Graphics object to handle</param>
/// <param name="Parent">The parent Toolstrip</param>
public void IDrawMenustripItem(ToolStripMenuItem Item, Graphics Link, ToolStrip Parent)
{
Rectangle Area = new Rectangle(
new Point(0, 0),
new Size(Item.Bounds.Size.Width - 1, Item.Bounds.Size.Height - 1)
);
if (Item.OwnerItem != null)
{
Area.X += 2;
Area.Width -= 3;
}
Blend BackBlend = GetBlend(Item, ButtonType.MenuItem);
Color[] Render = GetButtonBackColor(Item, ButtonType.MenuItem);
using (GraphicsPath Path = CreateDrawingPath(Area, _btnManager.Curve))
{
Link.SetClip(Path);
PaintBackground(
Link,
Area,
Render[0],
Render[1],
_btnManager.BackgroundAngle,
BackBlend
);
Link.ResetClip();
Link.SmoothingMode = SmoothingMode.AntiAlias;
using (GraphicsPath OBPath = CreateDrawingPath(Area, _btnManager.Curve))
{
PaintBorder(
Link,
OBPath,
Area,
_mnuManager.MenustripButtonBorder,
_mnuManager.MenustripButtonBorder,
_btnManager.BorderAngle,
_btnManager.BorderBlend
);
OBPath.Dispose();
}
if (!Item.Pressed)
{
Area.Inflate(-1, -1);
using (GraphicsPath IBPath = CreateDrawingPath(Area, _btnManager.Curve))
{
using (SolidBrush InnerBorder = new SolidBrush(_btnManager.InnerBorder))
{
PaintBorder(
Link,
IBPath,
InnerBorder
);
InnerBorder.Dispose();
}
}
}
Link.SmoothingMode = SmoothingMode.Default;
}
}
#endregion
#endregion
#region "Important* -- The OnRender protected overrides"
#region "Render Button Background -- Handles drawing toolstrip/menu/status-strip buttons"
/// <summary>
/// Covers the button background rendering
/// </summary>
/// <param name="e"></param>
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
{
if (
e.ToolStrip is ContextMenuStrip ||
e.ToolStrip is ToolStripDropDownMenu ||
e.ToolStrip is MenuStrip
)
{
ToolStripMenuItem Item = (ToolStripMenuItem)e.Item;
if (Item.Selected || Item.Checked || Item.Pressed)
IDrawMenustripItem(Item, e.Graphics, e.ToolStrip);
}
else if (
e.ToolStrip is StatusStrip
)
{
}
else
{
ToolStripButton Item = (ToolStripButton)e.Item;
if (Item.Selected || Item.Checked || Item.Pressed)
IDrawToolstripButton(Item, e.Graphics, e.ToolStrip);
}
}
#endregion
#region "Render Dropdown Button Background"
protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e)
{
if (e.Item.Selected || e.Item.Pressed)
IDrawDropDownButton((ToolStripDropDownButton)e.Item, e.Graphics, e.ToolStrip);
}
#endregion
#region "Render Image Margin -- Handles drawing the image margin on drop-down menus"
protected override void OnRenderImageMargin(ToolStripRenderEventArgs e)
{
Rectangle Area = new Rectangle(
2,
2,
e.AffectedBounds.Width,
e.AffectedBounds.Height - 4
);
PaintBackground(e.Graphics, Area, _mnuManager.MarginLeft, _mnuManager.MarginRight, 0f);
e.Graphics.DrawLine(
new Pen(_mnuManager.MenuBorderDark),
e.AffectedBounds.Width + 1,
2,
e.AffectedBounds.Width + 1,
e.AffectedBounds.Height - 3
);
}
#endregion
#region "Render Item Text -- Allows smoothing of text and changing the color"
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
if (_smoothText)
e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
if (_overrideText)
e.TextColor = _overrideColor;
base.OnRenderItemText(e);
}
#endregion
#region "Render Menuitem Background -- Handles drawing menu-item backgrounds"
protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
{
ToolStripMenuItem Item = (ToolStripMenuItem)e.Item;
if ((!Item.Selected && !Item.Checked && !Item.Pressed) || Item.Enabled == false)
{
return;
}
if (
e.ToolStrip is MenuStrip ||
e.ToolStrip is ToolStripDropDownMenu ||
e.ToolStrip is ContextMenuStrip
)
{
IDrawMenustripItem(Item, e.Graphics, e.ToolStrip);
}
}
#endregion
#region "Render Seperator -- Handles drawing the seperator for the toolstrip and contextmenu controls"
protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e)
{
if (
e.ToolStrip is ContextMenuStrip ||
e.ToolStrip is ToolStripDropDownMenu
)
{
// Draw it
e.Graphics.DrawLine(new Pen(_mnuManager.SeperatorDark), _mnuManager.SeperatorInset, 3, e.Item.Width + 1, 3);
e.Graphics.DrawLine(new Pen(_mnuManager.SeperatorLight), _mnuManager.SeperatorInset, 4, e.Item.Width + 1, 4);
}
else
{
if (e.Vertical)
{
e.Graphics.DrawLine(new Pen(_tsCtrlManager.SeperatorDark), 3, 5, 3, e.Item.Height - 6);
e.Graphics.DrawLine(new Pen(_tsCtrlManager.SeperatorLight), 4, 6, 4, e.Item.Height - 6);
}
else
{
e.Graphics.DrawLine(new Pen(_tsCtrlManager.SeperatorDark), 8, 0, e.Item.Width - 6, 0);
e.Graphics.DrawLine(new Pen(_tsCtrlManager.SeperatorLight), 9, 1, e.Item.Width - 6, 1);
}
}
}
#endregion
#region "Render SplitButton Background -- Handles drawing the split button"
protected override void OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs e)
{
ToolStripSplitButton Item = (ToolStripSplitButton)e.Item;
IDrawToolstripSplitButton(Item, e.Graphics, e.ToolStrip);
}
#endregion
#region "Render Statusstrip Sizing Grip"
protected override void OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs e)
{
using (SolidBrush Top = new SolidBrush(_sBarManager.GripTop),
Bottom = new SolidBrush(_sBarManager.GripBottom))
{
Int32 d = _sBarManager.GripSpacing;
Int32 y = e.AffectedBounds.Bottom - (d * 4);
for (int a = 1; a < 4; a++)
{
y = y + d;
for (int b = 1; a >= b; b++)
{
Int32 x = e.AffectedBounds.Right - (d * b);
e.Graphics.FillRectangle(Bottom, x + 1, y + 1, 2, 2);
e.Graphics.FillRectangle(Top, x, y, 2, 2);
}
}
}
}
#endregion
#region "Render Toolstrip Background -- Handles drawing toolstrip/menu/status-strip backgrounds"
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
{
if (
e.ToolStrip is ContextMenuStrip ||
e.ToolStrip is ToolStripDropDownMenu
)
{
PaintBackground(e.Graphics, e.AffectedBounds, _mnuManager.BackgroundTop, _mnuManager.BackgroundBottom, 90f, _mnuManager.BackgroundBlend);
Rectangle Border = new Rectangle(
0,
0,
e.AffectedBounds.Width - 1,
e.AffectedBounds.Height - 1
);
using (GraphicsPath Path = CreateDrawingPath(Border, 0))
{
e.Graphics.ExcludeClip(new Rectangle(
1,
0,
e.ConnectedArea.Width,
e.ConnectedArea.Height - 1
));
PaintBorder(e.Graphics, Path, new SolidBrush(_mnuManager.MenuBorderDark));
e.Graphics.ResetClip();
Path.Dispose();
}
}
else if (
e.ToolStrip is MenuStrip)
{
Rectangle Area = e.AffectedBounds;
PaintBackground(e.Graphics, Area, new SolidBrush(_pManager.ContentPanelTop));
}
else if (
e.ToolStrip is StatusStrip
)
{
IDrawStatusbarBackground((StatusStrip)e.ToolStrip, e.Graphics, e.AffectedBounds);
}
else
{
e.ToolStrip.BackColor = Color.Transparent;
IDrawToolstripBackground(e.ToolStrip, e.Graphics, e.AffectedBounds);
}
}
#endregion
#region "Render Toolstrip Border -- Handles drawing the border for toolstrip/menu/status-strip controls"
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
if (
e.ToolStrip is ContextMenuStrip ||
e.ToolStrip is ToolStripDropDownMenu
)
{
}
else if (
e.ToolStrip is StatusStrip
)
{
}
else if (
e.ToolStrip is MenuStrip
)
{
}
else
{
Rectangle Area = new Rectangle(
0,
-2,
e.AffectedBounds.Width - 2,
e.AffectedBounds.Height + 1
);
using (GraphicsPath Path = CreateDrawingPath(Area, _tsManager.Curve))
{
PaintBorder(
e.Graphics,
Path,
e.AffectedBounds,
_tsManager.BorderTop,
_tsManager.BorderBottom,
_tsManager.BorderAngle,
_tsManager.BorderBlend
);
Path.Dispose();
}
}
}
#endregion
#region "Render Toolstrip Content Panel Background -- Handles drawing the content panel background"
protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e)
{
if (e.ToolStripContentPanel.ClientRectangle.Width < 3 || e.ToolStripContentPanel.ClientRectangle.Height < 3)
{
return;
}
e.Handled = true;
e.Graphics.SmoothingMode = _pManager.Mode;
PaintBackground(
e.Graphics,
e.ToolStripContentPanel.ClientRectangle,
_pManager.ContentPanelTop,
_pManager.ContentPanelBottom,
_pManager.BackgroundAngle,
_pManager.BackgroundBlend
);
}
#endregion
#region "Render Toolstrip Panel Background -- Handles drawing the backgrounds for each panel"
protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e)
{
if (e.ToolStripPanel.ClientRectangle.Width < 3 || e.ToolStripPanel.ClientRectangle.Height < 3)
return;
e.Handled = true;
switch (e.ToolStripPanel.Dock)
{
case DockStyle.Top:
PaintBackground(
e.Graphics,
e.ToolStripPanel.ClientRectangle,
new SolidBrush(_pManager.ContentPanelTop)
);
break;
case DockStyle.Bottom:
PaintBackground(
e.Graphics,
e.ToolStripPanel.ClientRectangle,
new SolidBrush(_pManager.ContentPanelBottom)
);
break;
case DockStyle.Left:
case DockStyle.Right:
PaintBackground(
e.Graphics,
e.ToolStripPanel.ClientRectangle,
_pManager.ContentPanelTop,
_pManager.ContentPanelBottom,
_pManager.BackgroundAngle,
_pManager.BackgroundBlend
);
break;
}
}
#endregion
#endregion
#region "Other functions"
#region "Apply -- Applies any recent changes to the renderer"
/// <summary>
/// Applies any and all changes made to the Renderer
/// </summary>
public void Apply()
{
ToolStripManager.Renderer = this;
}
#endregion
#endregion
}
#endregion
#region "EasyRender -- Toolstrip controlling class"
/// <summary>
/// A class designed to be used in the EasyRender master control to customize the look and feel of the base Toolstrip
/// </summary>
public class IToolstrip : IDisposable
{
#region "Initialization and Setup"
/// <summary>
/// Creates a new IToolstrip class for customization
/// </summary>
public IToolstrip()
{
DefaultBlending();
}
/// <summary>
/// Creates a new IToolstrip class for customization
/// </summary>
/// <param name="Import">The IToolstrip to import the settings from</param>
public IToolstrip(IToolstrip Import)
{
DefaultBlending();
Apply(Import);
}
/// <summary>
/// Disposes of the IToolstrip class and clears all resources related to it
/// </summary>
public void Dispose()
{
GC.SuppressFinalize(this);
}
#endregion
#region "Private variables"
private int _curve = 2;
private Color _borderTop = Color.Transparent;
private Color _borderBottom = Color.FromArgb(71, 117, 177);
private Blend _borderBlend = null;
private float _borderAngle = 90;
private Color _backTop = Color.FromArgb(227, 239, 255);
private Color _backBottom = Color.FromArgb(163, 193, 234);
private Blend _backBlend = null;
private float _backAngle = 90;
#endregion
#region "Properties"
/// <summary>
/// Gets or sets the color of the Toolstrip background gradient from the top
/// </summary>
public Color BackgroundTop
{
get
{
return _backTop;
}
set
{
_backTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Toolstrip background gradient from the bottom
/// </summary>
public Color BackgroundBottom
{
get
{
return _backBottom;
}
set
{
_backBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Toolstrip background
/// If set to null, the Toolstrip will simply draw the gradient
/// </summary>
public Blend BackgroundBlend
{
get
{
return _backBlend;
}
set
{
_backBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Toolstrip background will be drawn
/// </summary>
public float BackgroundAngle
{
get
{
return _backAngle;
}
set
{
_backAngle = value;
}
}
/// <summary>
/// Gets or sets the color of the Toolstrip border gradient from the top
/// </summary>
public Color BorderTop
{
get
{
return _borderTop;
}
set
{
_borderTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Toolstrip border gradient from the bottom
/// </summary>
public Color BorderBottom
{
get
{
return _borderBottom;
}
set
{
_borderBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Toolstrip border
/// If set to null, the Toolstrip will simply draw the border
/// </summary>
public Blend BorderBlend
{
get
{
return _borderBlend;
}
set
{
_borderBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Toolstrip border will be drawn
/// </summary>
public float BorderAngle
{
get
{
return _borderAngle;
}
set
{
_borderAngle = value;
}
}
/// <summary>
/// Gets or sets the curve of the border of the Toolstrip
/// </summary>
public int Curve
{
get
{
return _curve;
}
set
{
_curve = value;
}
}
#endregion
#region "Methods"
/// <summary>
/// Imports the settings from a previous or pre-defined IToolstrip and applies it to the current
/// </summary>
/// <param name="Import">The IToolstrip to import the settings from</param>
public void Apply(IToolstrip Import)
{
_backTop = Import._borderTop;
_backBottom = Import._borderBottom;
_backAngle = Import._borderAngle;
_backBlend = Import._backBlend;
_borderTop = Import._borderTop;
_borderBottom = Import._borderBottom;
_borderAngle = Import._borderAngle;
_borderBlend = Import._borderBlend;
_curve = Import._curve;
}
/// <summary>
/// Sets the blending for both border and background to their defaults
/// </summary>
public void DefaultBlending()
{
_borderBlend = new Blend();
_borderBlend.Positions = new float[] { 0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f };
_borderBlend.Factors = new float[] { 0.1f, 0.2f, 0.3f, 0.3f, 0.3f, 0.4f, 0.4f, 0.4f, 0.5f, 0.7f, 0.7f };
_backBlend = new Blend();
_backBlend.Positions = new float[] { 0f, 0.3f, 0.5f, 0.8f, 1f };
_backBlend.Factors = new float[] { 0f, 0f, 0f, 0.5f, 1f };
}
#endregion
}
#endregion
#region "EasyRender -- Toolstrip extended controls"
public class IToolstripControls : IDisposable
{
#region "Initialization and Setup"
/// <summary>
/// Creates a new IToolstripControls class for customization
/// </summary>
public IToolstripControls()
{
}
/// <summary>
/// Disposes of the IToolstripControls class and clears all resources related to it
/// </summary>
public void Dispose()
{
GC.SuppressFinalize(this);
}
#endregion
#region "Private variables"
private Color _sepDark = Color.FromArgb(154, 198, 255);
private Color _sepLight = Color.White;
private int _sepHeight = 8;
private Color _gripTop = Color.FromArgb(111, 157, 217);
private Color _gripBottom = Color.White;
private GripType _gripStyle = GripType.Dotted;
private int _gripDistance = 4;
private Size _gripSize = new Size(2, 2);
#endregion
#region "Properties"
/// <summary>
/// Gets or sets the color of the Toolstrip seperator on the dark side
/// </summary>
public Color SeperatorDark
{
get
{
return _sepDark;
}
set
{
_sepDark = value;
}
}
/// <summary>
/// Gets or sets the color of the Toolstrip seperator on the light side
/// </summary>
public Color SeperatorLight
{
get
{
return _sepLight;
}
set
{
_sepLight = value;
}
}
/// <summary>
/// Gets or sets the height of the Toolstrip seperator control
/// </summary>
public int SeperatorHeight
{
get
{
return _sepHeight;
}
set
{
_sepHeight = value;
}
}
/// <summary>
/// Gets or sets the color of the grip dots/line at the top
/// </summary>
public Color GripTop
{
get
{
return _gripTop;
}
set
{
_gripTop = value;
}
}
/// <summary>
/// Gets or sets the color of the grip shadow
/// </summary>
public Color GripShadow
{
get
{
return _gripBottom;
}
set
{
_gripBottom = value;
}
}
/// <summary>
/// Gets or sets in what mode the grip will be drawn
/// </summary>
public GripType GripStyle
{
get { return _gripStyle; }
set { _gripStyle = value; }
}
/// <summary>
/// Gets or sets the distance, in pixels, between each grip dot
/// </summary>
public int GripDistance
{
get { return _gripDistance; }
set { _gripDistance = value; }
}
/// <summary>
/// Gets or sets the size of the dots or lines for the grip
/// </summary>
public Size GripSize
{
get { return _gripSize; }
set { _gripSize = value; }
}
#endregion
#region "Methods"
/// <summary>
/// Imports the settings from a previous or pre-defined IToolstripControls and applies it to the current
/// </summary>
/// <param name="Import">The IToolstripControls to import the settings from</param>
public void Apply(IToolstripControls Import)
{
_sepDark = Import._sepDark;
_sepLight = Import._sepLight;
_sepHeight = Import._sepHeight;
_gripTop = Import._gripTop;
_gripBottom = Import._gripBottom;
_gripDistance = Import._gripDistance;
_gripStyle = Import._gripStyle;
_gripSize = Import._gripSize;
}
#endregion
}
#endregion
#region "EasyRender -- Button controlling class"
public class IButton : IDisposable
{
#region "Initialization and Setup"
/// <summary>
/// Creates a new IButton class for customization
/// </summary>
public IButton()
{
DefaultBlending();
}
/// <summary>
/// Creates a new IButton class for customization
/// </summary>
/// <param name="Import">The IButton to import the settings from</param>
public IButton(IButton Import)
{
DefaultBlending();
Apply(Import);
}
/// <summary>
/// Disposes of the IButton class and clears all resources related to it
/// </summary>
public void Dispose()
{
GC.SuppressFinalize(this);
}
#endregion
#region "Private variables"
private Color _borderTop = Color.FromArgb(157, 183, 217);
private Color _borderBottom = Color.FromArgb(157, 183, 217);
private Color _borderInner = Color.FromArgb(255, 247, 185);
private Blend _borderBlend = null;
private float _borderAngle = 90f;
private Color _hoverBackTop = Color.FromArgb(255, 249, 218);
private Color _hoverBackBottom = Color.FromArgb(237, 189, 62);
private Color _clickBackTop = Color.FromArgb(245, 207, 57);
private Color _clickBackBottom = Color.FromArgb(245, 225, 124);
private float _backAngle = 90f;
private Blend _backBlend = null;
private BlendRender _blendRender = BlendRender.Hover | BlendRender.Click | BlendRender.Check;
private int _curve = 1;
#endregion
#region "Properties"
/// <summary>
/// Gets or sets the color of the Button background at the top, when hovered over
/// </summary>
public Color HoverBackgroundTop
{
get
{
return _hoverBackTop;
}
set
{
_hoverBackTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Button background at the bottom, when hovered over
/// </summary>
public Color HoverBackgroundBottom
{
get
{
return _hoverBackBottom;
}
set
{
_hoverBackBottom = value;
}
}
/// <summary>
/// Gets or sets the color of the Button background at the top, when clicked
/// </summary>
public Color ClickBackgroundTop
{
get
{
return _clickBackTop;
}
set
{
_clickBackTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Button background at the bottom, when clicked
/// </summary>
public Color ClickBackgroundBottom
{
get
{
return _clickBackBottom;
}
set
{
_clickBackBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Button background
/// If set to null, the Button will simply draw the gradient
/// </summary>
public Blend BackgroundBlend
{
get
{
return _backBlend;
}
set
{
_backBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Button background will be drawn
/// </summary>
public float BackgroundAngle
{
get
{
return _backAngle;
}
set
{
_backAngle = value;
}
}
/// <summary>
/// Gets or sets the color of the Button border gradient from the top
/// </summary>
public Color BorderTop
{
get
{
return _borderTop;
}
set
{
_borderTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Button border gradient from the bottom
/// </summary>
public Color BorderBottom
{
get
{
return _borderBottom;
}
set
{
_borderBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Button border
/// If set to null, the Button will simply draw the border
/// </summary>
public Blend BorderBlend
{
get
{
return _borderBlend;
}
set
{
_borderBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Button border will be drawn
/// </summary>
public float BorderAngle
{
get
{
return _borderAngle;
}
set
{
_borderAngle = value;
}
}
/// <summary>
/// Gets or sets the color of the inside border
/// </summary>
public Color InnerBorder
{
get { return _borderInner; }
set { _borderInner = value; }
}
/// <summary>
/// Gets or sets when to apply the rendering ("Normal" does not apply here)
/// </summary>
public BlendRender BlendOptions
{
get
{
return _blendRender;
}
set
{
_blendRender = value;
}
}
/// <summary>
/// Gets or sets the curve of the border of the Button
/// </summary>
public int Curve
{
get
{
return _curve;
}
set
{
_curve = value;
}
}
#endregion
#region "Methods"
/// <summary>
/// Imports the settings from a previous or pre-defined IButton and applies it to the current
/// </summary>
/// <param name="Import">The IButton to import the settings from</param>
public void Apply(IButton Import)
{
_borderTop = Import._borderTop;
_borderBottom = Import._borderBottom;
_borderAngle = Import._borderAngle;
_borderBlend = Import._borderBlend;
_hoverBackTop = Import._hoverBackTop;
_hoverBackBottom = Import._hoverBackBottom;
_clickBackTop = Import._clickBackTop;
_clickBackBottom = Import._clickBackBottom;
_backAngle = Import._backAngle;
_backBlend = Import._backBlend;
_blendRender = Import._blendRender;
_curve = Import._curve;
}
/// <summary>
/// Sets the blending for both border and background to their defaults
/// </summary>
public void DefaultBlending()
{
_borderBlend = null;
_backBlend = new Blend();
_backBlend.Positions = new float[] { 0f, 0.5f, 0.5f, 1f };
_backBlend.Factors = new float[] { 0f, 0.2f, 1f, 0.3f };
}
#endregion
}
#endregion
#region "EasyRender -- Dropdown Button controlling class"
public class IDropDownButton : IDisposable
{
#region "Initialization and Setup"
/// <summary>
/// Creates a new IButton class for customization
/// </summary>
public IDropDownButton()
{
DefaultBlending();
}
/// <summary>
/// Creates a new IButton class for customization
/// </summary>
/// <param name="Import">The IButton to import the settings from</param>
public IDropDownButton(IDropDownButton Import)
{
DefaultBlending();
Apply(Import);
}
/// <summary>
/// Disposes of the IButton class and clears all resources related to it
/// </summary>
public void Dispose()
{
GC.SuppressFinalize(this);
}
#endregion
#region "Private variables"
private Color _borderTop = Color.FromArgb(157, 183, 217);
private Color _borderBottom = Color.FromArgb(157, 183, 217);
private Color _borderInner = Color.FromArgb(255, 247, 185);
private Blend _borderBlend = null;
private float _borderAngle = 90f;
private Color _hoverBackTop = Color.FromArgb(255, 249, 218);
private Color _hoverBackBottom = Color.FromArgb(237, 189, 62);
private float _backAngle = 90f;
private Blend _backBlend = null;
private BlendRender _blendRender = BlendRender.Hover | BlendRender.Check;
private int _curve = 1;
#endregion
#region "Properties"
/// <summary>
/// Gets or sets the color of the Button background at the top, when hovered over
/// </summary>
public Color HoverBackgroundTop
{
get
{
return _hoverBackTop;
}
set
{
_hoverBackTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Button background at the bottom, when hovered over
/// </summary>
public Color HoverBackgroundBottom
{
get
{
return _hoverBackBottom;
}
set
{
_hoverBackBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Button background
/// If set to null, the Button will simply draw the gradient
/// </summary>
public Blend BackgroundBlend
{
get
{
return _backBlend;
}
set
{
_backBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Button background will be drawn
/// </summary>
public float BackgroundAngle
{
get
{
return _backAngle;
}
set
{
_backAngle = value;
}
}
/// <summary>
/// Gets or sets the color of the Button border gradient from the top
/// </summary>
public Color BorderTop
{
get
{
return _borderTop;
}
set
{
_borderTop = value;
}
}
/// <summary>
/// Gets or sets the color of the Button border gradient from the bottom
/// </summary>
public Color BorderBottom
{
get
{
return _borderBottom;
}
set
{
_borderBottom = value;
}
}
/// <summary>
/// Gets or sets the blending that will occur when rendering the Button border
/// If set to null, the Button will simply draw the border
/// </summary>
public Blend BorderBlend
{
get
{
return _borderBlend;
}
set
{
_borderBlend = value;
}
}
/// <summary>
/// Gets or sets the angle which the Button border will be drawn
/// </summary>
public float BorderAngle
{
get
{
return _borderAngle;
}
set
{
_borderAngle = value;
}
}
/// <summary>
/// Gets or sets the color of the inside border
/// </summary>
public Color InnerBorder
{
get { return _borderInner; }
set { _borderInner = value; }
}
/// <summary>
/// Gets or sets when to apply the rendering ("Normal" and "Click" do not apply here)
/// </summary>
public BlendRender BlendOptions
{
get
{
return _blendRender;
}
set
{
_blendRender = value;
}
}
/// <summary>
/// Gets or sets the curve of the border of the Button
/// </summary>
public int Curve
{
get
{
return _curve;
}
set
{
_curve = value;
}
}
#endregion
#region "Methods"
/// <summary>
/// Imports the settings from a previous or pre-defined IDropDownButton and applies it to the current
/// </summary>
/// <param name="Import">The IDropDownButton to import the settings from</param>
public void Apply(IDropDownButt
gitextract_mpnbyyvk/ ├── .gitignore ├── LICENSE ├── README.md ├── Sheng.Winform.Controls/ │ ├── BrowserDisplayBinding/ │ │ ├── BrowserPane.cs │ │ ├── DefaultHtmlViewSchemeExtension.cs │ │ ├── ExtendedWebBrowser.cs │ │ ├── HtmlViewPane.cs │ │ ├── HtmlViewPaneEvents.cs │ │ └── IHtmlViewSchemeExtension.cs │ ├── DragHelper.cs │ ├── IShengForm.cs │ ├── IShengValidate.cs │ ├── IconResource.Designer.cs │ ├── IconResource.resx │ ├── License/ │ │ ├── SEControlLicense.cs │ │ ├── SEControlLicenseProvider.cs │ │ └── TextFile1.txt │ ├── LocalizedDescription.cs │ ├── PopupControl/ │ │ ├── GripBounds.cs │ │ ├── NativeMethods.cs │ │ ├── Popup.Designer.cs │ │ ├── Popup.cs │ │ ├── PopupAnimation.cs │ │ ├── PopupComboBox.Designer.cs │ │ ├── PopupComboBox.cs │ │ ├── PopupControlComboBoxBase.Designer.cs │ │ └── PopupControlComboBoxBase.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Renderer/ │ │ ├── Office2010Renderer.cs │ │ ├── SEToolStripProfessionalRenderer_Gary.cs │ │ ├── SEToolStripRender.cs │ │ └── ToolStripRenders.cs │ ├── SEControl.csproj.pdsync │ ├── SEFormShadow.Designer.cs │ ├── SEFormShadow.cs │ ├── SEImageListView.cs │ ├── Sheng.Winform.Controls.csproj │ ├── Sheng.Winform.Controls.csproj.user │ ├── ShengAdressBar/ │ │ ├── IShengAddressNode.cs │ │ ├── ShengAddressBar.Designer.cs │ │ ├── ShengAddressBar.cs │ │ ├── ShengAddressBar.resx │ │ ├── ShengAddressBarButton.cs │ │ ├── ShengAddressBarDropDown.cs │ │ ├── ShengAddressBarDropDownButton.cs │ │ ├── ShengAddressBarDropDownItem.cs │ │ ├── ShengAddressBarStrip.cs │ │ └── ShengFileSystemNode.cs │ ├── ShengAdvComboBox.cs │ ├── ShengAdvComboBoxDropdownBase.Designer.cs │ ├── ShengAdvComboBoxDropdownBase.cs │ ├── ShengAdvComboBoxDropdownBase.resx │ ├── ShengAdvLabel.cs │ ├── ShengAreoMainMenuStrip.cs │ ├── ShengColorChooseComboBox.Designer.cs │ ├── ShengColorChooseComboBox.cs │ ├── ShengColorChooseComboBoxDropDown.Designer.cs │ ├── ShengColorChooseComboBoxDropDown.cs │ ├── ShengColorChooseComboBoxDropDown.resx │ ├── ShengComboBox.cs │ ├── ShengComboSelector/ │ │ ├── ShengComboSelector.Designer.cs │ │ ├── ShengComboSelector.cs │ │ ├── ShengComboSelector.resx │ │ ├── ShengComboSelectorItem.cs │ │ ├── ShengComboSelectorItemCollection.cs │ │ ├── ShengComboSelectorItemContainer.Designer.cs │ │ ├── ShengComboSelectorItemContainer.cs │ │ └── ShengComboSelectorItemContainer.resx │ ├── ShengComboSelector2/ │ │ ├── Enums.cs │ │ ├── ShengComboSelector2.cs │ │ └── ShengComboSelectorTheme.cs │ ├── ShengDataGridView/ │ │ ├── Renderer/ │ │ │ ├── IShengDataGridViewCellRenderer.cs │ │ │ ├── ShengDataGridViewCheckBoxCellRenderer.cs │ │ │ ├── ShengDataGridViewImageCellRenderer.cs │ │ │ ├── ShengDataGridViewRenderer.cs │ │ │ └── ShengDataGridViewRendererTheme.cs │ │ ├── ShengDataGridView.cs │ │ ├── ShengDataGridViewCheckBoxColumn.cs │ │ ├── ShengDataGridViewImageBinderCell.cs │ │ └── ShengDataGridViewImageBinderColumn.cs │ ├── ShengDatetimePicker.cs │ ├── ShengFlatButton.Designer.cs │ ├── ShengFlatButton.cs │ ├── ShengFlatButton.resx │ ├── ShengForm.Designer.cs │ ├── ShengForm.cs │ ├── ShengForm.resx │ ├── ShengGroupBox.cs │ ├── ShengImageListView/ │ │ ├── Enums.cs │ │ ├── Events.cs │ │ ├── ShengImageListView.cs │ │ ├── ShengImageListViewCollection.cs │ │ ├── ShengImageListViewColor.cs │ │ ├── ShengImageListViewHitInfo.cs │ │ ├── ShengImageListViewItem.cs │ │ ├── ShengImageListViewItemThumbnailsCache.cs │ │ ├── ShengImageListViewLayoutManager.cs │ │ ├── ShengImageListViewRenderer.cs │ │ ├── ShengImageListViewStandardRenderer.cs │ │ ├── ShengImageListViewTheme.cs │ │ └── Utility.cs │ ├── ShengLine.cs │ ├── ShengListView/ │ │ ├── Enums.cs │ │ ├── Events.cs │ │ ├── Layout/ │ │ │ ├── IShengListViewExtendMember.cs │ │ │ ├── ShengListViewDescriptiveLayoutManager.cs │ │ │ ├── ShengListViewDescriptiveMembers.cs │ │ │ ├── ShengListViewDescriptiveRenderer.cs │ │ │ ├── ShengListViewLayoutManager.cs │ │ │ ├── ShengListViewRenderer.cs │ │ │ ├── ShengListViewStandardLayoutManager.cs │ │ │ ├── ShengListViewStandardRenderer.cs │ │ │ └── ShengListViewTheme.cs │ │ ├── ShengListView.cs │ │ ├── ShengListViewColor.cs │ │ ├── ShengListViewHitInfo.cs │ │ ├── ShengListViewItem.cs │ │ └── ShengListViewItemCollection.cs │ ├── ShengLoadingCircle.cs │ ├── ShengNavigationTreeView/ │ │ ├── ShengNavigationTreeNode.cs │ │ └── ShengNavigationTreeView.cs │ ├── ShengPad.cs │ ├── ShengPaginationDataGridView.Designer.cs │ ├── ShengPaginationDataGridView.cs │ ├── ShengPaginationDataGridView.resx │ ├── ShengPanel.cs │ ├── ShengSimpleCheckBox.cs │ ├── ShengTabControl.cs │ ├── ShengTextBox.cs │ ├── ShengThumbnailImageListView.cs │ ├── ShengToolStrip.cs │ ├── ShengToolStripMenuItem.cs │ ├── ShengToolStripSeparator.cs │ ├── ShengTreeView.cs │ ├── ShengUserControl.Designer.cs │ ├── ShengUserControl.cs │ ├── ShengUserControl.resx │ ├── ShengValidateHelper.cs │ ├── WinAPI.cs │ └── Wizard/ │ ├── IWizardView.cs │ ├── WizardPanelBase.Designer.cs │ ├── WizardPanelBase.cs │ ├── WizardPanelBase.resx │ ├── WizardView.Designer.cs │ ├── WizardView.cs │ └── WizardView.resx ├── Sheng.Winform.Controls.Demo/ │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── FormMisc.Designer.cs │ ├── FormMisc.cs │ ├── FormMisc.resx │ ├── FormShengAdressBar.Designer.cs │ ├── FormShengAdressBar.cs │ ├── FormShengAdressBar.resx │ ├── FormShengComboSelector.Designer.cs │ ├── FormShengComboSelector.cs │ ├── FormShengComboSelector.resx │ ├── FormShengComboSelector2.Designer.cs │ ├── FormShengComboSelector2.cs │ ├── FormShengComboSelector2.resx │ ├── FormShengDataGridView.Designer.cs │ ├── FormShengDataGridView.cs │ ├── FormShengDataGridView.resx │ ├── FormShengImageListView.Designer.cs │ ├── FormShengImageListView.cs │ ├── FormShengImageListView.resx │ ├── FormShengListView.Designer.cs │ ├── FormShengListView.cs │ ├── FormShengListView.resx │ ├── FormShengThumbnailImageListView.Designer.cs │ ├── FormShengThumbnailImageListView.cs │ ├── FormShengThumbnailImageListView.resx │ ├── FormShengTreeView.Designer.cs │ ├── FormShengTreeView.cs │ ├── FormShengTreeView.resx │ ├── MainToolStripPanel.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── Resource1.Designer.cs │ ├── Resource1.resx │ ├── Sheng.Winform.Controls.Demo.csproj │ ├── Sheng.Winform.Controls.Demo.csproj.user │ ├── StartPageCodePage.cs │ ├── StartPageScheme.cs │ └── TestListViewItem.cs ├── Sheng.Winform.Controls.Drawing/ │ ├── BmpAdjuster.cs │ ├── ColorRepresentationHelper.cs │ ├── DrawingTool.cs │ ├── GraphPlotting.cs │ ├── GraphicsExtension.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Sheng.Winform.Controls.Drawing.csproj │ └── Sheng.Winform.Controls.Drawing.csproj.user ├── Sheng.Winform.Controls.Kernal/ │ ├── EnvironmentHelper.cs │ ├── FastReflection/ │ │ ├── ConstructorInvoker.cs │ │ ├── ConstructorInvokerPool.cs │ │ ├── FastReflectionPool.cs │ │ ├── FieldAccessor.cs │ │ ├── FieldAccessorPool.cs │ │ ├── IFastReflectionPool.cs │ │ ├── MethodInvoker.cs │ │ ├── MethodInvokerPool.cs │ │ ├── PropertyAccessor.cs │ │ ├── PropertyAccessorPool.cs │ │ └── ReflectionPool.cs │ ├── ImageAndTypeMappingCodon.cs │ ├── Localisation/ │ │ └── LocalisationHelper.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Sheng.Winform.Controls.Kernal.csproj │ └── Sheng.Winform.Controls.Kernal.csproj.user ├── Sheng.Winform.Controls.Localisation/ │ ├── Chinese (Simplified).Designer.cs │ ├── Chinese (Simplified).resx │ ├── ILanguage.cs │ ├── Language.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Sheng.Winform.Controls.Localisation.csproj │ └── Sheng.Winform.Controls.Localisation.csproj.user ├── Sheng.Winform.Controls.Win32/ │ ├── DwmApi.cs │ ├── ExplorerTreeView.cs │ ├── Kernel32.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Shell32.cs │ ├── Sheng.Winform.Controls.Win32.csproj │ ├── Sheng.Winform.Controls.Win32.csproj.user │ ├── User32.cs │ └── WinMessage.cs └── Sheng.Winform.Controls.sln
SYMBOL INDEX (1613 symbols across 183 files)
FILE: Sheng.Winform.Controls.Demo/Form1.Designer.cs
class Form1 (line 3) | partial class Form1
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/Form1.cs
class Form1 (line 14) | public partial class Form1 : Form
method Form1 (line 30) | public Form1()
method InitMenuItems (line 44) | private void InitMenuItems()
method ShellView_Paint (line 135) | private void ShellView_Paint(object sender, PaintEventArgs e)
method WndProc (line 161) | protected override void WndProc(ref Message msg)
method InitialiseForm (line 208) | private void InitialiseForm()
type RenderMode (line 247) | private enum RenderMode { None, EntireWindow, TopWindow, Region };
method InitAreo (line 251) | private void InitAreo()
method PointIsOnGlass (line 266) | private bool PointIsOnGlass(Point p)
FILE: Sheng.Winform.Controls.Demo/FormMisc.Designer.cs
class FormMisc (line 3) | partial class FormMisc
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormMisc.cs
class FormMisc (line 12) | public partial class FormMisc : Form
method FormMisc (line 14) | public FormMisc()
method FormMisc_Load (line 19) | private void FormMisc_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengAdressBar.Designer.cs
class FormShengAdressBar (line 3) | partial class FormShengAdressBar
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengAdressBar.cs
class FormShengAdressBar (line 12) | public partial class FormShengAdressBar : Form
method FormShengAdressBar (line 14) | public FormShengAdressBar()
method FormShengAdressBar_Load (line 19) | private void FormShengAdressBar_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengComboSelector.Designer.cs
class FormShengComboSelector (line 3) | partial class FormShengComboSelector
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengComboSelector.cs
class FormShengComboSelector (line 12) | public partial class FormShengComboSelector : Form
method FormShengComboSelector (line 14) | public FormShengComboSelector()
method FormShengComboSelector_Load (line 19) | private void FormShengComboSelector_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengComboSelector2.Designer.cs
class FormShengComboSelector2 (line 3) | partial class FormShengComboSelector2
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengComboSelector2.cs
class FormShengComboSelector2 (line 12) | public partial class FormShengComboSelector2 : Form
method FormShengComboSelector2 (line 14) | public FormShengComboSelector2()
method FormShengComboSelector2_Load (line 19) | private void FormShengComboSelector2_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengDataGridView.Designer.cs
class FormShengDataGridView (line 3) | partial class FormShengDataGridView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengDataGridView.cs
class FormShengDataGridView (line 12) | public partial class FormShengDataGridView : Form
method FormShengDataGridView (line 16) | public FormShengDataGridView()
method FormShengDataGridView_Load (line 21) | private void FormShengDataGridView_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengImageListView.Designer.cs
class FormShengImageListView (line 3) | partial class FormShengImageListView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengImageListView.cs
class FormShengImageListView (line 13) | public partial class FormShengImageListView : Form
method FormShengImageListView (line 17) | public FormShengImageListView()
method FormShengImageListView_Load (line 22) | private void FormShengImageListView_Load(object sender, EventArgs e)
method GetImageHandler (line 44) | private Image GetImageHandler(object key)
FILE: Sheng.Winform.Controls.Demo/FormShengListView.Designer.cs
class FormShengListView (line 3) | partial class FormShengListView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengListView.cs
class FormShengListView (line 12) | public partial class FormShengListView : Form
method FormShengListView (line 14) | public FormShengListView()
method FormShengListView_Load (line 19) | private void FormShengListView_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/FormShengThumbnailImageListView.Designer.cs
class FormShengThumbnailImageListView (line 3) | partial class FormShengThumbnailImageListView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengThumbnailImageListView.cs
class FormShengThumbnailImageListView (line 13) | public partial class FormShengThumbnailImageListView : Form
method FormShengThumbnailImageListView (line 15) | public FormShengThumbnailImageListView()
method FormShengThumbnailImageListView_Load (line 20) | private void FormShengThumbnailImageListView_Load(object sender, Event...
FILE: Sheng.Winform.Controls.Demo/FormShengTreeView.Designer.cs
class FormShengTreeView (line 3) | partial class FormShengTreeView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls.Demo/FormShengTreeView.cs
class FormShengTreeView (line 12) | public partial class FormShengTreeView : Form
method FormShengTreeView (line 14) | public FormShengTreeView()
method FormShengTreeView_Load (line 19) | private void FormShengTreeView_Load(object sender, EventArgs e)
FILE: Sheng.Winform.Controls.Demo/MainToolStripPanel.cs
class MainToolStripPanel (line 15) | class MainToolStripPanel : ToolStripPanel
method OnPaintBackground (line 17) | protected override void OnPaintBackground(System.Windows.Forms.PaintEv...
FILE: Sheng.Winform.Controls.Demo/Program.cs
class Program (line 8) | static class Program
method Main (line 13) | [STAThread]
FILE: Sheng.Winform.Controls.Demo/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 32) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Sheng.Winform.Controls.Demo/Properties/Settings.Designer.cs
class Settings (line 15) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
FILE: Sheng.Winform.Controls.Demo/Resource1.Designer.cs
class Resource1 (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resource1 (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Sheng.Winform.Controls.Demo/StartPageCodePage.cs
class StartPageCodePage (line 9) | class StartPageCodePage
method StartPageCodePage (line 11) | public StartPageCodePage()
method RenderHeaderSection (line 15) | public virtual void RenderHeaderSection(StringBuilder builder)
method RenderSectionStartBody (line 59) | public virtual void RenderSectionStartBody(StringBuilder builder)
method RenderSectionHelp (line 131) | public virtual void RenderSectionHelp(StringBuilder builder)
method RenderFinalPageBodySection (line 155) | public virtual void RenderFinalPageBodySection(StringBuilder builder)
method RenderPageEndSection (line 160) | public virtual void RenderPageEndSection(StringBuilder builder)
method Render (line 165) | public string Render(string section)
FILE: Sheng.Winform.Controls.Demo/StartPageScheme.cs
class StartPageScheme (line 8) | class StartPageScheme : DefaultHtmlViewSchemeExtension
method StartPageScheme (line 48) | private StartPageScheme()
method InterceptNavigate (line 52) | public override void InterceptNavigate(HtmlViewPane pane, WebBrowserNa...
method DocumentCompleted (line 86) | public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDo...
method pane_WebBrowser_Navigated (line 107) | void pane_WebBrowser_Navigated(object sender, WebBrowserNavigatedEvent...
method pane_WebBrowser_Navigating (line 122) | void pane_WebBrowser_Navigating(object sender, WebBrowserNavigatingEve...
method GoHome (line 148) | public override void GoHome(HtmlViewPane pane)
FILE: Sheng.Winform.Controls.Demo/TestListViewItem.cs
class TestListViewItem (line 8) | class TestListViewItem
method GetTestData (line 22) | public static List<TestListViewItem> GetTestData()
FILE: Sheng.Winform.Controls.Drawing/BmpAdjuster.cs
class BmpAdjuster (line 11) | public class BmpAdjuster
method BmpAdjuster (line 21) | public BmpAdjuster()
method BmpAdjuster (line 30) | public BmpAdjuster(int alpha)
method AdjustColor (line 35) | public void AdjustColor(ref Bitmap bmp, PixelFormat format, PaletteAdj...
method GetPixelSize (line 76) | internal int GetPixelSize(PixelFormat format)
method Monochrome (line 99) | public unsafe void Monochrome(ref Bitmap bmp)
method SetBlackWhitePallete (line 106) | ColorPalette SetBlackWhitePallete(ColorPalette plt)
method ConvertBlackWhiteScanLine (line 113) | unsafe void ConvertBlackWhiteScanLine(IntPtr srcLine, IntPtr dstLine, ...
method Gray (line 141) | public void Gray(ref Bitmap bmp)
method SetGrayPallete (line 148) | ColorPalette SetGrayPallete(ColorPalette plt)
method ConvertGaryScanLine (line 157) | unsafe void ConvertGaryScanLine(IntPtr srcLine, IntPtr dstLine, int wi...
method MonochromeLockBits (line 178) | public static Bitmap MonochromeLockBits(Bitmap pimage)
FILE: Sheng.Winform.Controls.Drawing/ColorRepresentationHelper.cs
type ChooseColorType (line 10) | public enum ChooseColorType
class ColorRepresentationHelper (line 29) | public class ColorRepresentationHelper
method GetColorByValue (line 36) | public static Color GetColorByValue(string colorValueString)
FILE: Sheng.Winform.Controls.Drawing/DrawingTool.cs
class DrawingTool (line 14) | public static class DrawingTool
method GetImage (line 18) | public static Image GetImage(string filePath)
method GetImage (line 23) | public static Image GetImage(string filePath, bool memberCopy)
method GetImage (line 37) | public static Image GetImage(string filePath,bool memberCopy, bool mar...
method ImageToIcon (line 97) | public static Icon ImageToIcon(Image image)
method ImageToIcon (line 108) | public static Icon ImageToIcon(Image image, ImageFormat format)
method GetAutoScaleThumbnailImage (line 132) | public static Image GetAutoScaleThumbnailImage(Image image, int contai...
method ThumbnailCallback (line 173) | private static bool ThumbnailCallback()
method GetScaleImage (line 186) | public static Image GetScaleImage(Image image, Size size)
method GetScaleImage (line 237) | public static Image GetScaleImage(Image image, int containerWidth, int...
method GetSizedImageBounds (line 259) | public static Rectangle GetSizedImageBounds(Image image, Rectangle fit...
method GetSizedImageBounds (line 279) | public static Rectangle GetSizedImageBounds(Image image, Rectangle fit)
method GetSizedImageBounds (line 291) | public static Size GetSizedImageBounds(Image image, Size fit)
method RoundedRect (line 310) | public static GraphicsPath RoundedRect(int width, int height, int radius)
method RoundedRect (line 323) | public static GraphicsPath RoundedRect(RectangleF baseRect, int radius)
method GetArrowPath (line 354) | public static GraphicsPath GetArrowPath(PointF startPoint, PointF endP...
method GetArrowPath (line 359) | public static GraphicsPath GetArrowPath(PointF startPoint, PointF endP...
method GetArrowPath (line 373) | public static GraphicsPath GetArrowPath(PointF startPoint, PointF endP...
class Mark (line 417) | public static class Mark
method FileNotFind (line 423) | [Obsolete("改用 FileNotFind(Size size)")]
method FileNotFind (line 443) | public static Image FileNotFind(Size size)
method FileCanNotRead (line 461) | [Obsolete("改用 FileCanNotRead(Size size)")]
method FileCanNotRead (line 477) | public static Image FileCanNotRead(Size size)
FILE: Sheng.Winform.Controls.Drawing/GraphPlotting.cs
class GraphPlotting (line 11) | public class GraphPlotting
method DrawRoundRect (line 32) | public static void DrawRoundRect(System.Drawing.Graphics currentGraphi...
method DrawRoundRect (line 78) | public static void DrawRoundRect(System.Drawing.Graphics currentGraphi...
method DrawRoundRect (line 88) | public static void DrawRoundRect(System.Drawing.Graphics currentGraphi...
method FillRoundRect (line 103) | public static void FillRoundRect(System.Drawing.Graphics currentGraphi...
method FillRoundRect (line 147) | public static void FillRoundRect(System.Drawing.Graphics currentGraphi...
method FillRoundRect (line 157) | public static void FillRoundRect(System.Drawing.Graphics currentGraphi...
method MonochromeLockBits (line 167) | public static Bitmap MonochromeLockBits(Bitmap pimage)
FILE: Sheng.Winform.Controls.Drawing/GraphicsExtension.cs
class GraphicsExtension (line 27) | static class GraphicsExtension
method GenerateRoundedRectangle (line 29) | private static GraphicsPath GenerateRoundedRectangle(
method GenerateCapsule (line 85) | private static GraphicsPath GenerateCapsule(
method DrawRoundedRectangle (line 118) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 135) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 153) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 170) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 186) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 201) | public static void DrawRoundedRectangle(
method DrawRoundedRectangle (line 217) | public static void DrawRoundedRectangle(
method FillRoundedRectangle (line 232) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 249) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 267) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 284) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 300) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 315) | public static void FillRoundedRectangle(
method FillRoundedRectangle (line 331) | public static void FillRoundedRectangle(
method GetFontMetrics (line 346) | public static FontMetrics GetFontMetrics(
class FontMetricsImpl (line 352) | private class FontMetricsImpl : FontMetrics
type TEXTMETRIC (line 354) | [StructLayout(LayoutKind.Sequential)]
method SelectObject (line 378) | [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
method GetTextMetrics (line 380) | [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
method DeleteObject (line 382) | [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
method GenerateTextMetrics (line 384) | private TEXTMETRIC GenerateTextMetrics(
method FontMetricsImpl (line 418) | private FontMetricsImpl(Graphics graphics, Font font)
method GetFontMetrics (line 422) | public static FontMetrics GetFontMetrics(
type RectangleEdgeFilter (line 430) | public enum RectangleEdgeFilter
class FontMetrics (line 439) | public abstract class FontMetrics
FILE: Sheng.Winform.Controls.Kernal/EnvironmentHelper.cs
class EnvironmentHelper (line 9) | public static class EnvironmentHelper
FILE: Sheng.Winform.Controls.Kernal/FastReflection/ConstructorInvoker.cs
type IConstructorInvoker (line 10) | public interface IConstructorInvoker
method Invoke (line 12) | object Invoke(params object[] parameters);
class ConstructorInvoker (line 15) | public class ConstructorInvoker : IConstructorInvoker
method ConstructorInvoker (line 21) | public ConstructorInvoker(ConstructorInfo constructorInfo)
method InitializeInvoker (line 27) | private Func<object[], object> InitializeInvoker(ConstructorInfo const...
method Invoke (line 57) | public object Invoke(params object[] parameters)
method Invoke (line 64) | object IConstructorInvoker.Invoke(params object[] parameters)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/ConstructorInvokerPool.cs
class ConstructorInvokerPool (line 10) | public class ConstructorInvokerPool : FastReflectionPool<Type[], IConstr...
method ConstructorInvokerPool (line 12) | public ConstructorInvokerPool()
method Compare (line 17) | protected override bool Compare(Type[] key1, Type[] key2)
method Create (line 22) | protected override IConstructorInvoker Create(Type type, Type[] key)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/FastReflectionPool.cs
class FastReflectionPool (line 21) | public abstract class FastReflectionPool<TKeyType, TAccessor> : IFastRef...
method Compare (line 30) | protected virtual bool Compare(TKeyType key1, TKeyType key2)
method Get (line 35) | public TAccessor Get(Type type, TKeyType key)
method Create (line 72) | protected abstract TAccessor Create(Type type, TKeyType key);
FILE: Sheng.Winform.Controls.Kernal/FastReflection/FieldAccessor.cs
type IFieldAccessor (line 10) | public interface IFieldAccessor
method GetValue (line 12) | object GetValue(object instance);
class FieldAccessor (line 15) | public class FieldAccessor : IFieldAccessor
method FieldAccessor (line 21) | public FieldAccessor(FieldInfo fieldInfo)
method InitializeGet (line 26) | private void InitializeGet(FieldInfo fieldInfo)
method GetValue (line 49) | public object GetValue(object instance)
method GetValue (line 56) | object IFieldAccessor.GetValue(object instance)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/FieldAccessorPool.cs
class FieldAccessorPool (line 10) | public class FieldAccessorPool : FastReflectionPool<string,IFieldAccessor>
method Create (line 12) | protected override IFieldAccessor Create(Type type, string key)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/IFastReflectionPool.cs
type IFastReflectionPool (line 8) | public interface IFastReflectionPool<TKeyType, TAccessor>
method Get (line 10) | TAccessor Get(Type type, TKeyType key);
FILE: Sheng.Winform.Controls.Kernal/FastReflection/MethodInvoker.cs
type IMethodInvoker (line 10) | public interface IMethodInvoker
method Invoke (line 12) | object Invoke(object instance, params object[] parameters);
class MethodInvoker (line 15) | public class MethodInvoker : IMethodInvoker
method MethodInvoker (line 21) | public MethodInvoker(MethodInfo methodInfo)
method Invoke (line 27) | public object Invoke(object instance, params object[] parameters)
method CreateInvokeDelegate (line 32) | private static Func<object, object[], object> CreateInvokeDelegate(Met...
method Invoke (line 86) | object IMethodInvoker.Invoke(object instance, params object[] parameters)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/MethodInvokerPool.cs
class MethodInvokerPool (line 10) | public class MethodInvokerPool : FastReflectionPool<string,IMethodInvoker>
method Create (line 12) | protected override IMethodInvoker Create(Type type, string key)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/PropertyAccessor.cs
type IPropertyAccessor (line 10) | public interface IPropertyAccessor
method GetValue (line 12) | object GetValue(object instance);
method SetValue (line 14) | void SetValue(object instance, object value);
class PropertyAccessor (line 17) | public class PropertyAccessor : IPropertyAccessor
method PropertyAccessor (line 24) | public PropertyAccessor(PropertyInfo propertyInfo)
method InitializeGet (line 31) | private void InitializeGet(PropertyInfo propertyInfo)
method InitializeSet (line 56) | private void InitializeSet(PropertyInfo propertyInfo)
method GetValue (line 62) | public object GetValue(object o)
method SetValue (line 72) | public void SetValue(object o, object value)
method GetValue (line 84) | object IPropertyAccessor.GetValue(object instance)
method SetValue (line 89) | void IPropertyAccessor.SetValue(object instance, object value)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/PropertyAccessorPool.cs
class PropertyAccessorPool (line 10) | public class PropertyAccessorPool : FastReflectionPool<string,IPropertyA...
method Create (line 12) | protected override IPropertyAccessor Create(Type type, string key)
FILE: Sheng.Winform.Controls.Kernal/FastReflection/ReflectionPool.cs
class ReflectionPool (line 9) | public static class ReflectionPool
method ReflectionPool (line 19) | static ReflectionPool()
method GetPropertyValue (line 23) | public static object GetPropertyValue(object instance, string property...
method SetPropertyValue (line 34) | public static void SetPropertyValue(object instance, string propertyNa...
method GetFieldValue (line 45) | public static object GetFieldValue(object instance, string fieldName)
method GetMethodValue (line 56) | public static object GetMethodValue(object instance, string methodName)
FILE: Sheng.Winform.Controls.Kernal/ImageAndTypeMappingCodon.cs
class ImageAndTypeMappingCodon (line 9) | public class ImageAndTypeMappingCodon
method ImageAndTypeMappingCodon (line 41) | public ImageAndTypeMappingCodon(Type dataBoundType, Image image)
method ImageAndTypeMappingCodon (line 47) | public ImageAndTypeMappingCodon(Type dataBoundType, Image image, bool ...
FILE: Sheng.Winform.Controls.Kernal/Localisation/LocalisationHelper.cs
class LocalisationHelper (line 11) | public class LocalisationHelper
method LocalisationHelper (line 41) | public LocalisationHelper(ResourceManager resourceManager)
method GetString (line 50) | public string GetString(string name)
method Parse (line 60) | public string Parse(string input)
method ApplyResource (line 89) | public void ApplyResource(UserControl userControl)
method ApplyResource (line 99) | public void ApplyResource(Form form)
method ApplyResource (line 109) | public void ApplyResource(Control control)
method ApplyResource (line 141) | public void ApplyResource(DataGridView dataGridView)
method ApplyResource (line 149) | public void ApplyResource(ToolStrip toolStrip)
method ApplyResource (line 162) | public void ApplyResource(ContextMenuStrip contextMenuStrip)
method ApplyResource (line 167) | public void ApplyResource(ToolStripItemCollection items)
FILE: Sheng.Winform.Controls.Localisation/Chinese (Simplified).Designer.cs
class Chinese__Simplified_ (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Chinese__Simplified_ (line 31) | public Chinese__Simplified_() {
method ToString (line 138) | public override string ToString() {
FILE: Sheng.Winform.Controls.Localisation/ILanguage.cs
type ILanguage (line 14) | public interface ILanguage {
FILE: Sheng.Winform.Controls.Localisation/Language.cs
class Language (line 16) | public class Language {
method Language (line 20) | private Language() {
method GetLanguages (line 50) | public static System.Collections.Generic.List<ILanguage> GetLanguages() {
method GetString (line 72) | public static string GetString(string name)
method Parse (line 89) | public static string Parse(string input)
FILE: Sheng.Winform.Controls.Win32/DwmApi.cs
class DwmApi (line 10) | public class DwmApi
method DwmEnableBlurBehindWindow (line 12) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmExtendFrameIntoClientArea (line 15) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmIsCompositionEnabled (line 18) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmGetColorizationColor (line 21) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmEnableComposition (line 26) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmRegisterThumbnail (line 29) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmUnregisterThumbnail (line 32) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmUpdateThumbnailProperties (line 35) | [DllImport("dwmapi.dll", PreserveSig = false)]
method DwmQueryThumbnailSourceSize (line 38) | [DllImport("dwmapi.dll", PreserveSig = false)]
class DWM_THUMBNAIL_PROPERTIES (line 41) | [StructLayout(LayoutKind.Sequential)]
class MARGINS (line 60) | [StructLayout(LayoutKind.Sequential)]
method MARGINS (line 65) | public MARGINS(int left, int top, int right, int bottom)
class DWM_BLURBEHIND (line 72) | [StructLayout(LayoutKind.Sequential)]
type RECT (line 87) | [StructLayout(LayoutKind.Sequential)]
method RECT (line 92) | public RECT(int left, int top, int right, int bottom)
FILE: Sheng.Winform.Controls.Win32/ExplorerTreeView.cs
class ExplorerTreeView (line 10) | public class ExplorerTreeView
method SetWindowTheme (line 18) | [DllImport("uxtheme.dll", CharSet = CharSet.Auto)]
method SendMessage (line 21) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
method TreeView_GetExtendedStyle (line 24) | private static int TreeView_GetExtendedStyle(IntPtr handle)
method TreeView_SetExtendedStyle (line 30) | private static void TreeView_SetExtendedStyle(IntPtr handle, int exten...
method ApplyTreeViewThemeStyles (line 36) | public static void ApplyTreeViewThemeStyles(TreeView treeView)
FILE: Sheng.Winform.Controls.Win32/Kernel32.cs
class Kernel32 (line 6) | public static class Kernel32
method WritePrivateProfileString (line 8) | [DllImport("kernel32")]
method GetPrivateProfileString (line 12) | [DllImport("kernel32")]
FILE: Sheng.Winform.Controls.Win32/Shell32.cs
class Shell32 (line 6) | public static class Shell32
method SHChangeNotify (line 11) | [DllImport("shell32.dll")]
FILE: Sheng.Winform.Controls.Win32/User32.cs
class User32 (line 6) | public static class User32
type CopyDataStruct (line 9) | public struct CopyDataStruct
method FindWindow (line 26) | [DllImport("User32.dll", EntryPoint = "FindWindow")]
method SendMessage (line 37) | [DllImport("User32.dll", EntryPoint = "SendMessage")]
method GetSystemMenu (line 57) | [DllImport("user32.dll")]
method EnableMenuItem (line 60) | [DllImport("user32.dll")]
FILE: Sheng.Winform.Controls.Win32/WinMessage.cs
class WinMessage (line 9) | public static class WinMessage
method SendMessage (line 17) | public static void SendMessage(string destProcessName, int msgID, stri...
method ReceiveMessage (line 46) | public static string ReceiveMessage(ref System.Windows.Forms.Message m)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/BrowserPane.cs
class BrowserPane (line 9) | public class BrowserPane : IDisposable
method BrowserPane (line 43) | protected BrowserPane(bool showNavigation)
method BrowserPane (line 52) | public BrowserPane()
method Dispose (line 61) | public void Dispose()
method Navigate (line 66) | public void Navigate(string url)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/DefaultHtmlViewSchemeExtension.cs
class DefaultHtmlViewSchemeExtension (line 7) | public class DefaultHtmlViewSchemeExtension : IHtmlViewSchemeExtension
method InterceptNavigate (line 9) | public virtual void InterceptNavigate(HtmlViewPane pane, WebBrowserNav...
method DocumentCompleted (line 11) | public virtual void DocumentCompleted(HtmlViewPane pane, WebBrowserDoc...
method GoHome (line 13) | public virtual void GoHome(HtmlViewPane pane)
method GoSearch (line 18) | public virtual void GoSearch(HtmlViewPane pane)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/ExtendedWebBrowser.cs
class NewWindowExtendedEventArgs (line 10) | public class NewWindowExtendedEventArgs : CancelEventArgs
method NewWindowExtendedEventArgs (line 22) | public NewWindowExtendedEventArgs(Uri url)
class ExtendedWebBrowser (line 32) | public class ExtendedWebBrowser : WebBrowser
class WebBrowserExtendedEvents (line 34) | class WebBrowserExtendedEvents : System.Runtime.InteropServices.Standa...
method WebBrowserExtendedEvents (line 38) | public WebBrowserExtendedEvents(ExtendedWebBrowser browser)
method NewWindow3 (line 43) | public void NewWindow3(object pDisp, ref bool cancel, ref object fla...
type DWebBrowserEvents2 (line 52) | [ComImport()]
method NewWindow3 (line 58) | [DispId(273)]
method CreateSink (line 71) | protected override void CreateSink()
method DetachSink (line 78) | protected override void DetachSink()
method OnNewWindowExtended (line 88) | protected virtual void OnNewWindowExtended(NewWindowExtendedEventArgs e)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPane.cs
class HtmlViewPane (line 8) | public class HtmlViewPane : UserControl
method HtmlViewPane (line 174) | public HtmlViewPane(bool showNavigation)
method webBrowser_DocumentTitleChanged (line 196) | void webBrowser_DocumentTitleChanged(object sender, EventArgs e)
method webBrowser_StatusTextChanged (line 204) | void webBrowser_StatusTextChanged(object sender, EventArgs e)
method webBrowser_Navigating (line 222) | void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArg...
method webBrowser_DocumentCompleted (line 250) | void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCom...
method webBrowser_NewWindowExtended (line 271) | void webBrowser_NewWindowExtended(object sender, NewWindowExtendedEven...
method webBrowser_Navigated (line 294) | void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
method GetScheme (line 327) | public IHtmlViewSchemeExtension GetScheme(string name)
method Close (line 355) | public void Close()
method Navigate (line 363) | public void Navigate(string url)
method Navigate (line 379) | public void Navigate(Uri url)
method GoHome (line 392) | public void GoHome()
method GoSearch (line 405) | public void GoSearch()
method SetUrlComboBox (line 418) | public void SetUrlComboBox(ComboBox comboBox)
method SetUrlBox (line 428) | public void SetUrlBox(Control urlBox)
method Dispose (line 434) | protected override void Dispose(bool disposing)
method UrlBoxKeyUp (line 447) | private void UrlBoxKeyUp(object sender, KeyEventArgs e)
method UrlBoxNavigate (line 457) | private void UrlBoxNavigate(Control ctl)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPaneEvents.cs
class HtmlViewPaneNewWindowEventArgs (line 10) | public class HtmlViewPaneNewWindowEventArgs : EventArgs
method HtmlViewPaneNewWindowEventArgs (line 12) | public HtmlViewPaneNewWindowEventArgs(BrowserPane browserPane,Uri url)
class HtmlViewPaneGetSchemeEventArgs (line 31) | public class HtmlViewPaneGetSchemeEventArgs : EventArgs
method HtmlViewPaneGetSchemeEventArgs (line 33) | public HtmlViewPaneGetSchemeEventArgs(string schemeName)
FILE: Sheng.Winform.Controls/BrowserDisplayBinding/IHtmlViewSchemeExtension.cs
type IHtmlViewSchemeExtension (line 9) | public interface IHtmlViewSchemeExtension
method InterceptNavigate (line 11) | void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArg...
method DocumentCompleted (line 12) | void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedE...
method GoHome (line 13) | void GoHome(HtmlViewPane pane);
method GoSearch (line 14) | void GoSearch(HtmlViewPane pane);
FILE: Sheng.Winform.Controls/DragHelper.cs
class DragHelper (line 12) | public class DragHelper
method InitCommonControls (line 14) | [DllImport("comctl32.dll")]
method ImageList_BeginDrag (line 17) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method ImageList_DragMove (line 21) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method ImageList_EndDrag (line 24) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method ImageList_DragEnter (line 27) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method ImageList_DragLeave (line 30) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method ImageList_DragShowNolock (line 33) | [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
method DragHelper (line 36) | static DragHelper()
FILE: Sheng.Winform.Controls/IShengForm.cs
type IShengForm (line 8) | interface IShengForm
method DoValidate (line 10) | bool DoValidate();
FILE: Sheng.Winform.Controls/IShengValidate.cs
type IShengValidate (line 10) | interface IShengValidate
method SEValidate (line 27) | bool SEValidate(out string msg);
FILE: Sheng.Winform.Controls/IconResource.Designer.cs
class IconResource (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method IconResource (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Sheng.Winform.Controls/License/SEControlLicense.cs
class SEControlLicense (line 9) | class SEControlLicense : License
method SEControlLicense (line 13) | public SEControlLicense(Type type)
method Dispose (line 23) | public override void Dispose()
FILE: Sheng.Winform.Controls/License/SEControlLicenseProvider.cs
class SEControlLicenseProvider (line 10) | class SEControlLicenseProvider : LicenseProvider
method GetLicense (line 53) | public override License GetLicense(LicenseContext context, Type type, ...
FILE: Sheng.Winform.Controls/LocalizedDescription.cs
class LocalizedDescriptionAttribute (line 10) | [AttributeUsage(AttributeTargets.All)]
method LocalizedDescriptionAttribute (line 15) | public LocalizedDescriptionAttribute(string key)
class LocalizedCategoryAttribute (line 39) | [AttributeUsage(AttributeTargets.All)]
method LocalizedCategoryAttribute (line 42) | public LocalizedCategoryAttribute(string key)
method GetLocalizedString (line 47) | protected override string GetLocalizedString(string key)
FILE: Sheng.Winform.Controls/PopupControl/GripBounds.cs
type GripBounds (line 6) | internal struct GripBounds
method GripBounds (line 11) | public GripBounds(Rectangle clientRectangle)
FILE: Sheng.Winform.Controls/PopupControl/NativeMethods.cs
class NativeMethods (line 10) | internal static class NativeMethods
type AnimationFlags (line 32) | [Flags]
method AnimateWindow (line 48) | [SuppressUnmanagedCodeSecurity]
method AnimateWindow (line 52) | internal static void AnimateWindow(Control control, int time, Animatio...
method HIWORD (line 63) | internal static int HIWORD(int n)
method HIWORD (line 68) | internal static int HIWORD(IntPtr n)
method LOWORD (line 73) | internal static int LOWORD(int n)
method LOWORD (line 78) | internal static int LOWORD(IntPtr n)
type MINMAXINFO (line 83) | [StructLayout(LayoutKind.Sequential)]
FILE: Sheng.Winform.Controls/PopupControl/Popup.Designer.cs
class Popup (line 3) | partial class Popup
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 38) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/PopupControl/Popup.cs
class Popup (line 23) | public partial class Popup : ToolStripDropDown
method Popup (line 158) | public Popup(Control content)
method OnVisibleChanged (line 207) | protected override void OnVisibleChanged(EventArgs e)
method ProcessDialogKey (line 271) | [UIPermission(SecurityAction.LinkDemand, Window = UIPermissionWindow.A...
method UpdateRegion (line 297) | protected void UpdateRegion()
method Show (line 318) | public void Show(Control control)
method Show (line 336) | public void Show(Control control, Rectangle area)
method SetOwnerItem (line 361) | private void SetOwnerItem(Control control)
method OnSizeChanged (line 389) | protected override void OnSizeChanged(EventArgs e)
method OnOpening (line 402) | protected override void OnOpening(CancelEventArgs e)
method OnOpened (line 417) | protected override void OnOpened(EventArgs e)
method OnClosed (line 434) | protected override void OnClosed(ToolStripDropDownClosedEventArgs e)
method WndProc (line 452) | [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermiss...
method ProcessResizing (line 471) | [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermiss...
method InternalProcessResizing (line 477) | [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermiss...
method OnGetMinMaxInfo (line 499) | [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermiss...
method OnNcHitTest (line 512) | private bool OnNcHitTest(ref Message m, bool contentControl)
method PaintSizeGrip (line 575) | public void PaintSizeGrip(PaintEventArgs e)
FILE: Sheng.Winform.Controls/PopupControl/PopupAnimation.cs
type PopupAnimations (line 10) | [Flags]
FILE: Sheng.Winform.Controls/PopupControl/PopupComboBox.Designer.cs
class PopupComboBox (line 3) | partial class PopupComboBox
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 36) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/PopupControl/PopupComboBox.cs
class PopupComboBox (line 15) | [ToolboxBitmap(typeof(System.Windows.Forms.ComboBox)), ToolboxItem(true)...
method PopupComboBox (line 21) | public PopupComboBox()
method dropDown_Closed (line 60) | private void dropDown_Closed(object sender, ToolStripDropDownClosedEve...
method ShowDropDown (line 98) | public void ShowDropDown()
method HideDropDown (line 126) | public void HideDropDown()
method WndProc (line 142) | [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermiss...
FILE: Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.Designer.cs
class PopupControlComboBoxBase (line 3) | partial class PopupControlComboBoxBase
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 32) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.cs
class PopupControlComboBoxBase (line 15) | [ToolboxBitmap(typeof(System.Windows.Forms.ComboBox)), ToolboxItem(true)...
method PopupControlComboBoxBase (line 21) | public PopupControlComboBoxBase()
method SuspendMenuMode (line 64) | private static void SuspendMenuMode()
method ResumeMenuMode (line 90) | private static void ResumeMenuMode()
method OnDropDown (line 103) | protected override void OnDropDown(EventArgs e)
method OnDropDownClosed (line 113) | protected override void OnDropDownClosed(EventArgs e)
FILE: Sheng.Winform.Controls/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Sheng.Winform.Controls/Renderer/Office2010Renderer.cs
class Office2010Renderer (line 10) | public static class Office2010Renderer
method CreateDisabledBackgroundBrush (line 12) | public static Brush CreateDisabledBackgroundBrush(Rectangle bounds, Co...
method CreateBackgroundBrush (line 19) | public static Brush CreateBackgroundBrush(Rectangle bounds, Color base...
method CreateBorderBrush (line 46) | public static Brush CreateBorderBrush(Rectangle bounds, Color baseColor)
method CreateHoveredBackgroundBrush (line 57) | public static Brush CreateHoveredBackgroundBrush(Rectangle bounds, Col...
method CreateHoveredBorderBrush (line 89) | public static Brush CreateHoveredBorderBrush(Rectangle bounds, Color b...
method CreateSelectedBackgroundBrush (line 101) | public static Brush CreateSelectedBackgroundBrush(Rectangle bounds, Co...
method CreateSelectedBorderBrush (line 133) | public static Brush CreateSelectedBorderBrush(Rectangle bounds, Color ...
FILE: Sheng.Winform.Controls/Renderer/SEToolStripProfessionalRenderer_Gary.cs
class SEToolStripProfessionalRenderer_Gary (line 14) | public class SEToolStripProfessionalRenderer_Gary : ToolStripProfessiona...
method SEToolStripProfessionalRenderer_Gary (line 16) | static SEToolStripProfessionalRenderer_Gary()
method SEToolStripProfessionalRenderer_Gary (line 21) | public SEToolStripProfessionalRenderer_Gary()
method OnRenderToolStripBorder (line 34) | protected override void OnRenderToolStripBorder(ToolStripRenderEventAr...
method OnRenderToolStripBackground (line 39) | protected override void OnRenderToolStripBackground(ToolStripRenderEve...
FILE: Sheng.Winform.Controls/Renderer/SEToolStripRender.cs
class SEToolStripRender (line 19) | public class SEToolStripRender : ToolStripProfessionalRenderer
method SEToolStripRender (line 26) | public SEToolStripRender()
method CreateDrawingPath (line 180) | private GraphicsPath CreateDrawingPath(Rectangle Area, float Curve)
method CreateTrianglePath (line 205) | private GraphicsPath CreateTrianglePath(Rectangle Bounds, Int32 Size, ...
method GetButtonBackColor (line 254) | private Color[] GetButtonBackColor(ToolStripButton Item, ButtonType Type)
method GetButtonBackColor (line 290) | private Color[] GetButtonBackColor(ToolStripSplitButton Item, ButtonTy...
method GetButtonBackColor (line 334) | private Color[] GetButtonBackColor(ToolStripMenuItem Item, ButtonType ...
method GetButtonBackColor (line 378) | private Color[] GetButtonBackColor(ToolStripDropDownButton Item, Butto...
method GetBlend (line 415) | private Blend GetBlend(ToolStripItem TSItem, ButtonType Type)
method PaintBackground (line 507) | public void PaintBackground(Graphics Link, Rectangle Boundary, Brush B...
method PaintBackground (line 521) | public void PaintBackground(Graphics Link, Rectangle Boundary, Color T...
method PaintBackground (line 536) | public void PaintBackground(Graphics Link, Rectangle Boundary, Color T...
method PaintBackground (line 552) | public void PaintBackground(Graphics Link, Rectangle Boundary, Color T...
method PaintBorder (line 579) | public void PaintBorder(Graphics Link, GraphicsPath Path, Brush Brush)
method PaintBorder (line 594) | public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Ar...
method PaintBorder (line 610) | public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Ar...
method PaintBorder (line 626) | public void PaintBorder(Graphics Link, GraphicsPath Path, Rectangle Ar...
method IDrawToolstripButton (line 658) | public void IDrawToolstripButton(ToolStripButton Item, Graphics Link, ...
method IDrawDropDownButton (line 728) | public void IDrawDropDownButton(ToolStripDropDownButton Item, Graphics...
method IDrawToolstripBackground (line 801) | public void IDrawToolstripBackground(ToolStrip Item, Graphics Link, Re...
method IDrawToolstripSplitButton (line 839) | public void IDrawToolstripSplitButton(ToolStripSplitButton Item, Graph...
method IDrawStatusbarBackground (line 1007) | public void IDrawStatusbarBackground(StatusStrip Item, Graphics Link, ...
method IDrawMenustripItem (line 1037) | public void IDrawMenustripItem(ToolStripMenuItem Item, Graphics Link, ...
method OnRenderButtonBackground (line 1118) | protected override void OnRenderButtonBackground(ToolStripItemRenderEv...
method OnRenderDropDownButtonBackground (line 1147) | protected override void OnRenderDropDownButtonBackground(ToolStripItem...
method OnRenderImageMargin (line 1155) | protected override void OnRenderImageMargin(ToolStripRenderEventArgs e)
method OnRenderItemText (line 1177) | protected override void OnRenderItemText(ToolStripItemTextRenderEventA...
method OnRenderMenuItemBackground (line 1190) | protected override void OnRenderMenuItemBackground(ToolStripItemRender...
method OnRenderSeparator (line 1211) | protected override void OnRenderSeparator(ToolStripSeparatorRenderEven...
method OnRenderSplitButtonBackground (line 1240) | protected override void OnRenderSplitButtonBackground(ToolStripItemRen...
method OnRenderStatusStripSizingGrip (line 1249) | protected override void OnRenderStatusStripSizingGrip(ToolStripRenderE...
method OnRenderToolStripBackground (line 1274) | protected override void OnRenderToolStripBackground(ToolStripRenderEve...
method OnRenderToolStripBorder (line 1329) | protected override void OnRenderToolStripBorder(ToolStripRenderEventAr...
method OnRenderToolStripContentPanelBackground (line 1374) | protected override void OnRenderToolStripContentPanelBackground(ToolSt...
method OnRenderToolStripPanelBackground (line 1397) | protected override void OnRenderToolStripPanelBackground(ToolStripPane...
method Apply (line 1445) | public void Apply()
class IToolstrip (line 1459) | public class IToolstrip : IDisposable
method IToolstrip (line 1466) | public IToolstrip()
method IToolstrip (line 1475) | public IToolstrip(IToolstrip Import)
method Dispose (line 1485) | public void Dispose()
method Apply (line 1664) | public void Apply(IToolstrip Import)
method DefaultBlending (line 1682) | public void DefaultBlending()
class IToolstripControls (line 1698) | public class IToolstripControls : IDisposable
method IToolstripControls (line 1705) | public IToolstripControls()
method Dispose (line 1712) | public void Dispose()
method Apply (line 1850) | public void Apply(IToolstripControls Import)
class IButton (line 1868) | public class IButton : IDisposable
method IButton (line 1875) | public IButton()
method IButton (line 1884) | public IButton(IButton Import)
method Dispose (line 1894) | public void Dispose()
method Apply (line 2136) | public void Apply(IButton Import)
method DefaultBlending (line 2158) | public void DefaultBlending()
class IDropDownButton (line 2173) | public class IDropDownButton : IDisposable
method IDropDownButton (line 2180) | public IDropDownButton()
method IDropDownButton (line 2189) | public IDropDownButton(IDropDownButton Import)
method Dispose (line 2199) | public void Dispose()
method Apply (line 2406) | public void Apply(IDropDownButton Import)
method DefaultBlending (line 2426) | public void DefaultBlending()
class ISplitButton (line 2441) | public class ISplitButton : IDisposable
method ISplitButton (line 2448) | public ISplitButton()
method Dispose (line 2456) | public void Dispose()
method Apply (line 2719) | public void Apply(ISplitButton Import)
method DefaultBlending (line 2744) | public void DefaultBlending()
class IPanel (line 2758) | public class IPanel : IDisposable
method IPanel (line 2765) | public IPanel()
method Dispose (line 2772) | public void Dispose()
class IStatusBar (line 2853) | public class IStatusBar : IDisposable
method IStatusBar (line 2860) | public IStatusBar()
method Dispose (line 2868) | public void Dispose()
method Apply (line 2984) | public void Apply(IStatusBar Import)
method DefaultBlending (line 2998) | public void DefaultBlending()
class IMenustrip (line 3015) | public class IMenustrip : IDisposable
method IMenustrip (line 3022) | public IMenustrip()
method IMenustrip (line 3033) | public IMenustrip(IMenustrip Import)
method Dispose (line 3045) | public void Dispose()
method Apply (line 3222) | public void Apply(IMenustrip Import)
method DefaultBlending (line 3236) | public void DefaultBlending()
type ArrowDisplay (line 3252) | public enum ArrowDisplay
type BlendRender (line 3262) | public enum BlendRender
type GripType (line 3289) | public enum GripType
type ButtonType (line 3308) | public enum ButtonType
type InheritenceType (line 3319) | public enum InheritenceType
type RenderingMode (line 3328) | public enum RenderingMode
FILE: Sheng.Winform.Controls/Renderer/ToolStripRenders.cs
class ToolStripRenders (line 9) | public static class ToolStripRenders
method ToolStripRenders (line 11) | static ToolStripRenders()
FILE: Sheng.Winform.Controls/SEFormShadow.Designer.cs
class SEFormShadow (line 3) | partial class SEFormShadow
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/SEFormShadow.cs
class SEFormShadow (line 15) | [LicenseProvider(typeof(SEControlLicenseProvider))]
method SEFormShadow (line 18) | public SEFormShadow()
method SetWindowShadow (line 41) | private void SetWindowShadow(byte bAlpha)
FILE: Sheng.Winform.Controls/SEImageListView.cs
class SEImageListView (line 23) | [ToolboxBitmap(typeof(SEImageListView))]
method SEImageListView (line 258) | public SEImageListView()
method SuspendLayout (line 315) | public new void SuspendLayout()
method ResumeLayout (line 323) | public new void ResumeLayout()
method ResumeLayout (line 331) | public new void ResumeLayout(bool performLayout)
method SetColumnHeader (line 345) | public void SetColumnHeader(EnumColumnType type, string text, int widt...
method SetColumnHeader (line 363) | public void SetColumnHeader(EnumColumnType type, int width, int displa...
method SetRenderer (line 376) | public void SetRenderer(ImageListViewRenderer renderer)
method Sort (line 384) | public void Sort()
method SelectAll (line 392) | public void SelectAll()
method ClearSelection (line 407) | public void ClearSelection()
method HitTest (line 420) | public bool HitTest(Point pt, out HitInfo hitInfo)
method EnsureVisible (line 490) | public bool EnsureVisible(int itemIndex)
method IsItemVisible (line 531) | public EnumItemVisibility IsItemVisible(ImageListViewItem item)
method ApplyNavKey (line 541) | private int ApplyNavKey(int index, System.Windows.Forms.Keys key)
method IsItemVisible (line 572) | internal bool IsItemVisible(Guid guid)
method IsItemVisible (line 581) | internal EnumItemVisibility IsItemVisible(int itemIndex)
method SetColumnsInternal (line 596) | internal void SetColumnsInternal(ImageListViewColumnHeaderCollection c...
method OnDragOver (line 614) | protected override void OnDragOver(DragEventArgs e)
method OnDragEnter (line 658) | protected override void OnDragEnter(DragEventArgs e)
method OnDragLeave (line 670) | protected override void OnDragLeave(EventArgs e)
method OnDragDrop (line 684) | protected override void OnDragDrop(DragEventArgs e)
method vScrollBar_Scroll (line 742) | private void vScrollBar_Scroll(object sender, ScrollEventArgs e)
method hScrollBar_Scroll (line 750) | private void hScrollBar_Scroll(object sender, ScrollEventArgs e)
method scrollTimer_Tick (line 758) | private void scrollTimer_Tick(object sender, EventArgs e)
method OnResize (line 771) | protected override void OnResize(EventArgs e)
method OnPaint (line 792) | protected override void OnPaint(PaintEventArgs e)
method OnMouseDown (line 800) | protected override void OnMouseDown(MouseEventArgs e)
method OnMouseUp (line 865) | protected override void OnMouseUp(MouseEventArgs e)
method OnMouseMove (line 948) | protected override void OnMouseMove(MouseEventArgs e)
method OnMouseWheel (line 1090) | protected override void OnMouseWheel(MouseEventArgs e)
method OnMouseLeave (line 1113) | protected override void OnMouseLeave(EventArgs e)
method OnMouseDoubleClick (line 1139) | protected override void OnMouseDoubleClick(MouseEventArgs e)
method IsInputKey (line 1158) | protected override bool IsInputKey(Keys keyData)
method OnKeyDown (line 1182) | protected override void OnKeyDown(KeyEventArgs e)
method OnKeyUp (line 1235) | protected override void OnKeyUp(KeyEventArgs e)
method OnGotFocus (line 1245) | protected override void OnGotFocus(EventArgs e)
method OnLostFocus (line 1253) | protected override void OnLostFocus(EventArgs e)
method Dispose (line 1262) | protected override void Dispose(bool disposing)
method OnHandleDestroyed (line 1278) | protected override void OnHandleDestroyed(EventArgs e)
method OnHandleCreated (line 1294) | protected override void OnHandleCreated(EventArgs e)
class ImageListViewColumnHeader (line 1314) | public class ImageListViewColumnHeader
method ImageListViewColumnHeader (line 1488) | public ImageListViewColumnHeader(EnumColumnType type, string text, i...
method ImageListViewColumnHeader (line 1498) | public ImageListViewColumnHeader(EnumColumnType type, string text)
method ImageListViewColumnHeader (line 1503) | public ImageListViewColumnHeader(EnumColumnType type, int width)
method ImageListViewColumnHeader (line 1508) | public ImageListViewColumnHeader(EnumColumnType type)
method ImageListViewColumnHeader (line 1513) | public ImageListViewColumnHeader()
method AutoFit (line 1523) | public void AutoFit()
class ImageListViewColumnHeaderCollection (line 1544) | [Editor(typeof(ColumnHeaderCollectionEditor), typeof(UITypeEditor))]
method ImageListViewColumnHeaderCollection (line 1591) | public ImageListViewColumnHeaderCollection(SEImageListView owner)
method GetEnumerator (line 1623) | public IEnumerator<ImageListViewColumnHeader> GetEnumerator()
method GetUIColumns (line 1635) | internal List<ImageListViewColumnHeader> GetUIColumns()
method ColumnCompare (line 1649) | internal static int ColumnCompare(ImageListViewColumnHeader a, Image...
method GetEnumerator (line 1664) | IEnumerator IEnumerable.GetEnumerator()
method Clone (line 1674) | public object Clone()
class ImageListViewItemCollection (line 1685) | public class ImageListViewItemCollection : IList<ImageListViewItem>, I...
method ImageListViewItemCollection (line 1694) | public ImageListViewItemCollection(SEImageListView owner)
method Add (line 1783) | public void Add(ImageListViewItem item)
method Add (line 1807) | public void Add(string filename)
method AddRange (line 1815) | public void AddRange(ImageListViewItem[] items)
method AddRange (line 1833) | public void AddRange(string[] filenames)
method Clear (line 1853) | public void Clear()
method Contains (line 1869) | public bool Contains(ImageListViewItem item)
method GetEnumerator (line 1879) | public IEnumerator<ImageListViewItem> GetEnumerator()
method GetEnumerator (line 1889) | System.Collections.IEnumerator System.Collections.IEnumerable.GetEnu...
method Insert (line 1901) | public void Insert(int index, ImageListViewItem item)
method Remove (line 1924) | public bool Remove(ImageListViewItem item)
method RemoveAt (line 1944) | public void RemoveAt(int index)
method AddInternal (line 1962) | internal void AddInternal(ImageListViewItem item)
method InsertInternal (line 1976) | internal void InsertInternal(int index, ImageListViewItem item)
method RemoveInternal (line 1992) | internal void RemoveInternal(ImageListViewItem item)
method IndexOf (line 2001) | internal int IndexOf(ImageListViewItem item)
method IndexOf (line 2008) | internal int IndexOf(Guid guid)
method Sort (line 2017) | internal void Sort()
class ImageListViewItemComparer (line 2029) | private class ImageListViewItemComparer : IComparer<ImageListViewItem>
method ImageListViewItemComparer (line 2034) | public ImageListViewItemComparer(EnumColumnType sortColumn, EnumSo...
method Compare (line 2043) | public int Compare(ImageListViewItem x, ImageListViewItem y)
method CopyTo (line 2096) | void ICollection<ImageListViewItem>.CopyTo(ImageListViewItem[] array...
method IndexOf (line 2103) | [Obsolete("Use ImageListViewItem.Index property instead.")]
method CopyTo (line 2111) | void ICollection.CopyTo(Array array, int index)
method Add (line 2141) | int IList.Add(object value)
method Contains (line 2152) | bool IList.Contains(object value)
method IndexOf (line 2161) | int IList.IndexOf(object value)
method Insert (line 2170) | void IList.Insert(int index, object value)
method Remove (line 2186) | void IList.Remove(object value)
class ImageListViewSelectedItemCollection (line 2213) | public class ImageListViewSelectedItemCollection : IList<ImageListView...
method ImageListViewSelectedItemCollection (line 2220) | public ImageListViewSelectedItemCollection(SEImageListView owner)
method Contains (line 2278) | public bool Contains(ImageListViewItem item)
method GetEnumerator (line 2288) | public IEnumerator<ImageListViewItem> GetEnumerator()
method GetEnumerator (line 2298) | System.Collections.IEnumerator System.Collections.IEnumerable.GetEnu...
method Clear (line 2311) | internal void Clear()
method Add (line 2328) | void ICollection<ImageListViewItem>.Add(ImageListViewItem item)
method Clear (line 2335) | void ICollection<ImageListViewItem>.Clear()
method CopyTo (line 2359) | void ICollection<ImageListViewItem>.CopyTo(ImageListViewItem[] array...
method IndexOf (line 2370) | [Obsolete("Use ImageListViewItem.Index property instead.")]
method Insert (line 2386) | void IList<ImageListViewItem>.Insert(int index, ImageListViewItem item)
method Remove (line 2400) | bool ICollection<ImageListViewItem>.Remove(ImageListViewItem item)
method RemoveAt (line 2414) | void IList<ImageListViewItem>.RemoveAt(int index)
class ImageListViewSelectedItemEnumerator (line 2438) | internal class ImageListViewSelectedItemEnumerator : IEnumerator<Ima...
method ImageListViewSelectedItemEnumerator (line 2447) | public ImageListViewSelectedItemEnumerator(ImageListViewItemCollec...
method Dispose (line 2481) | public void Dispose()
method MoveNext (line 2488) | public bool MoveNext()
method Reset (line 2522) | public void Reset()
class ImageListViewRenderer (line 2534) | public class ImageListViewRenderer : IDisposable
method ImageListViewRenderer (line 2553) | public ImageListViewRenderer()
method Refresh (line 2567) | internal void Refresh(bool forceUpdate)
method Refresh (line 2577) | internal void Refresh()
method SuspendPaint (line 2584) | internal void SuspendPaint()
method ResumePaint (line 2592) | internal void ResumePaint()
method CanPaint (line 2607) | internal bool CanPaint()
method Render (line 2614) | internal void Render(Graphics graphics)
method RecreateBuffer (line 2757) | internal void RecreateBuffer()
method Dispose (line 2775) | public void Dispose()
method MeasureColumnHeaderHeight (line 2789) | public virtual int MeasureColumnHeaderHeight()
method MeasureItem (line 2800) | public virtual Size MeasureItem(EnumView view)
method DrawBackground (line 2832) | public virtual void DrawBackground(Graphics g, Rectangle bounds)
method DrawSelectionRectangle (line 2881) | public virtual void DrawSelectionRectangle(Graphics g, Rectangle sel...
method DrawItem (line 2896) | public virtual void DrawItem(Graphics g, ImageListViewItem item, Enu...
method DrawColumnHeader (line 3046) | public virtual void DrawColumnHeader(Graphics g, ImageListViewColumn...
method DrawColumnExtender (line 3101) | public virtual void DrawColumnExtender(Graphics g, Rectangle bounds)
method DrawScrollBarFiller (line 3122) | public virtual void DrawScrollBarFiller(Graphics g, Rectangle bounds)
method GetSortArrowImage (line 3131) | public virtual Image GetSortArrowImage(EnumSortOrder sortOrder)
method DrawInsertionCaret (line 3147) | public virtual void DrawInsertionCaret(Graphics g, Rectangle bounds)
type HitInfo (line 3161) | public struct HitInfo
class ImageListViewItemCacheManager (line 3181) | internal class ImageListViewItemCacheManager
class CacheItem (line 3194) | private class CacheItem
method CacheItem (line 3208) | public CacheItem(ImageListViewItem item)
method ImageListViewItemCacheManager (line 3228) | public ImageListViewItemCacheManager(SEImageListView owner)
method Start (line 3243) | public void Start()
method Stop (line 3259) | public void Stop()
method AddToCache (line 3270) | public void AddToCache(ImageListViewItem item)
method DoWork (line 3287) | private static void DoWork(object data)
class ImageListViewCacheManager (line 3343) | internal class ImageListViewCacheManager
class CacheItem (line 3365) | private class CacheItem
method CacheItem (line 3394) | public CacheItem(string filename, Size size, Image image, EnumCach...
method CacheItem (line 3402) | public CacheItem(string filename, Size size, Image image, EnumCach...
method ImageListViewCacheManager (line 3426) | public ImageListViewCacheManager(SEImageListView owner, int cacheSize)
method GetCacheState (line 3443) | public EnumCacheState GetCacheState(Guid guid)
method Start (line 3466) | public void Start()
method Stop (line 3482) | public void Stop()
method Clean (line 3493) | public void Clean()
method AddToCache (line 3503) | public void AddToCache(Guid guid, string filename)
method RemoveFromCache (line 3534) | public bool RemoveFromCache(Guid guid)
method GetImage (line 3557) | public Image GetImage(Guid guid)
method DoWork (line 3579) | private static void DoWork(object data)
method ThumbnailFromFile (line 3684) | private static Image ThumbnailFromFile(string filename, Size thumbSi...
class ImageListViewLayoutManager (line 3765) | internal class ImageListViewLayoutManager
method ImageListViewLayoutManager (line 3881) | public ImageListViewLayoutManager(SEImageListView owner)
method GetItemBounds (line 3893) | public Rectangle GetItemBounds(int itemIndex)
method GetItemBoundsWithMargin (line 3909) | public Rectangle GetItemBoundsWithMargin(int itemIndex)
method Update (line 3921) | public void Update()
method Update (line 3930) | public void Update(bool forceUpdate)
method IsItemVisible (line 4094) | public bool IsItemVisible(Guid guid)
class ImageListViewDesigner (line 4103) | internal class ImageListViewDesigner : ControlDesigner
class ImageListViewActionLists (line 4130) | internal class ImageListViewActionLists : DesignerActionList, IService...
method ImageListViewActionLists (line 4140) | public ImageListViewActionLists(IComponent component)
method SetProperty (line 4154) | private void SetProperty(String propName, object value)
method EditColumns (line 4196) | public void EditColumns()
method GetSortedActionItems (line 4211) | public override DesignerActionItemCollection GetSortedActionItems()
method GetService (line 4229) | object IServiceProvider.GetService(Type serviceType)
method CloseDropDown (line 4243) | void IWindowsFormsEditorService.CloseDropDown()
method DropDownControl (line 4250) | void IWindowsFormsEditorService.DropDownControl(Control control)
method ShowDialog (line 4257) | DialogResult IWindowsFormsEditorService.ShowDialog(Form dialog)
method OnComponentChanged (line 4281) | void ITypeDescriptorContext.OnComponentChanged()
method OnComponentChanging (line 4288) | bool ITypeDescriptorContext.OnComponentChanging()
class ColumnHeaderCollectionTypeConverter (line 4304) | internal class ColumnHeaderCollectionTypeConverter : TypeConverter
method CanConvertTo (line 4310) | public override bool CanConvertTo(ITypeDescriptorContext context, Ty...
method ConvertTo (line 4320) | public override object ConvertTo(ITypeDescriptorContext context, Sys...
class ColumnHeaderCollectionEditor (line 4332) | internal class ColumnHeaderCollectionEditor : CollectionEditor
method ColumnHeaderCollectionEditor (line 4335) | public ColumnHeaderCollectionEditor()
method CanRemoveInstance (line 4345) | protected override bool CanRemoveInstance(object value)
method CreateNewItemTypes (line 4353) | protected override Type[] CreateNewItemTypes()
method GetDisplayText (line 4361) | protected override string GetDisplayText(object value)
method CanSelectMultipleInstances (line 4368) | protected override bool CanSelectMultipleInstances()
method GetItems (line 4375) | protected override object[] GetItems(object editValue)
method CreateCollectionForm (line 4386) | protected override CollectionEditor.CollectionForm CreateCollectionF...
class SEImageListViewSerializer (line 4395) | internal class SEImageListViewSerializer : CodeDomSerializer
method Deserialize (line 4401) | public override object Deserialize(IDesignerSerializationManager man...
method Serialize (line 4409) | public override object Serialize(IDesignerSerializationManager manag...
class NavInfo (line 4451) | internal class NavInfo
method NavInfo (line 4477) | public NavInfo()
method OnColumnWidthChanged (line 4503) | protected virtual void OnColumnWidthChanged(ColumnEventArgs e)
method OnColumnClick (line 4512) | protected virtual void OnColumnClick(ColumnClickEventArgs e)
method OnItemClick (line 4521) | protected virtual void OnItemClick(ItemClickEventArgs e)
method OnItemDoubleClick (line 4530) | protected virtual void OnItemDoubleClick(ItemClickEventArgs e)
method OnSelectionChanged (line 4539) | protected virtual void OnSelectionChanged(EventArgs e)
method OnSelectionChangedInternal (line 4548) | internal void OnSelectionChangedInternal()
method OnThumbnailCached (line 4556) | protected virtual void OnThumbnailCached(ItemEventArgs e)
method OnThumbnailCachedInternal (line 4566) | internal void OnThumbnailCachedInternal(Guid guid)
method OnThumbnailCaching (line 4576) | protected virtual void OnThumbnailCaching(ItemEventArgs e)
type EnumUseEmbeddedThumbnails (line 4626) | public enum EnumUseEmbeddedThumbnails
type EnumCacheState (line 4635) | public enum EnumCacheState
type EnumView (line 4645) | public enum EnumView
type EnumColumnType (line 4653) | public enum EnumColumnType
type EnumSortOrder (line 4669) | public enum EnumSortOrder
type EnumItemVisibility (line 4678) | public enum EnumItemVisibility
type EnumItemState (line 4687) | [Flags]
type EnumColumnState (line 4698) | [Flags]
class ImageListViewItem (line 4712) | public class ImageListViewItem
method ImageListViewItem (line 4975) | public ImageListViewItem()
method ImageListViewItem (line 4990) | public ImageListViewItem(string filename)
method UpdateFileInfo (line 5001) | private void UpdateFileInfo()
method GetSubItemText (line 5037) | protected internal string GetSubItemText(EnumColumnType type)
method UpdateDetailsInternal (line 5068) | internal void UpdateDetailsInternal(DateTime dateAccessed, DateTime ...
class ColumnEventArgs (line 5144) | [Serializable, ComVisible(true)]
method ColumnEventArgs (line 5154) | public ColumnEventArgs(SEImageListView.ImageListViewColumnHeader col...
class ColumnClickEventArgs (line 5162) | [Serializable, ComVisible(true)]
method ColumnClickEventArgs (line 5190) | public ColumnClickEventArgs(SEImageListView.ImageListViewColumnHeade...
class ItemEventArgs (line 5200) | [Serializable, ComVisible(true)]
method ItemEventArgs (line 5210) | public ItemEventArgs(ImageListViewItem item)
class ItemClickEventArgs (line 5218) | [Serializable, ComVisible(true)]
method ItemClickEventArgs (line 5246) | public ItemClickEventArgs(ImageListViewItem item, Point location, Mo...
class Utility (line 5259) | public static class Utility
method GetFileAttributesEx (line 5263) | [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Un...
type GET_FILEEX_INFO_LEVELS (line 5269) | private enum GET_FILEEX_INFO_LEVELS
type WIN32_FILE_ATTRIBUTE_DATA (line 5274) | [StructLayout(LayoutKind.Sequential)]
type FILETIME (line 5284) | [StructLayout(LayoutKind.Sequential)]
method SHGetFileInfo (line 5300) | [DllImport("shell32.dll", CharSet = CharSet.Auto)]
type SHFILEINFO (line 5302) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
type SHGFI (line 5315) | [Flags]
method MakeLParam (line 5343) | public static IntPtr MakeLParam(short low, short high)
method MakeQWord (line 5353) | public static long MakeQWord(int lowPart, int highPart)
method MakeQWord (line 5363) | public static ulong MakeQWord(uint lowPart, uint highPart)
method FormatSize (line 5373) | public static string FormatSize(long size)
class ShellFileInfo (line 5394) | public class ShellFileInfo
method ShellFileInfo (line 5410) | public ShellFileInfo(string path)
method ImageFromBase64String (line 5452) | public static Image ImageFromBase64String(string base64String)
method ImageToBase64String (line 5463) | public static string ImageToBase64String(Image image)
method GetRoundedRectanglePath (line 5474) | private static GraphicsPath GetRoundedRectanglePath(int x, int y, in...
method FillRoundedRectangle (line 5494) | public static void FillRoundedRectangle(System.Drawing.Graphics grap...
method FillRoundedRectangle (line 5505) | public static void FillRoundedRectangle(System.Drawing.Graphics grap...
method FillRoundedRectangle (line 5513) | public static void FillRoundedRectangle(System.Drawing.Graphics grap...
method FillRoundedRectangle (line 5521) | public static void FillRoundedRectangle(System.Drawing.Graphics grap...
method DrawRoundedRectangle (line 5529) | public static void DrawRoundedRectangle(System.Drawing.Graphics grap...
method DrawRoundedRectangle (line 5540) | public static void DrawRoundedRectangle(System.Drawing.Graphics grap...
method DrawRoundedRectangle (line 5548) | public static void DrawRoundedRectangle(System.Drawing.Graphics grap...
method DrawRoundedRectangle (line 5556) | public static void DrawRoundedRectangle(System.Drawing.Graphics grap...
FILE: Sheng.Winform.Controls/ShengAdressBar/IShengAddressNode.cs
type IShengAddressNode (line 9) | public interface IShengAddressNode
method CreateChildNodes (line 66) | void CreateChildNodes();
method UpdateChildNodes (line 71) | void UpdateChildNodes();
method GetChild (line 79) | IShengAddressNode GetChild(string uniqueID);
method Clone (line 85) | IShengAddressNode Clone();
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBar.Designer.cs
class ShengAddressBar (line 3) | partial class ShengAddressBar
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBar.cs
class ShengAddressBar (line 18) | public partial class ShengAddressBar : UserControl
method ShengAddressBar (line 59) | public ShengAddressBar()
method InitializeRoot (line 64) | public void InitializeRoot(IShengAddressNode rootNode)
method SetAddress (line 69) | public void SetAddress(string path)
method SetAddress (line 74) | public void SetAddress(IShengAddressNode addressNode)
method UpdateNode (line 79) | public void UpdateNode()
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarButton.cs
class ShengAddressBarButton (line 10) | class ShengAddressBarButton : ToolStripButton
method ShengAddressBarButton (line 27) | public ShengAddressBarButton(string text, Image image, EventHandler on...
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDown.cs
class ShengAddressBarDropDown (line 10) | [ToolboxItem(false)]
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDownButton.cs
class ShengAddressBarDropDownButton (line 13) | public class ShengAddressBarDropDownButton : ToolStripDropDownButton
method ShengAddressBarDropDownButton (line 15) | public ShengAddressBarDropDownButton()
method ShengAddressBarDropDownButton (line 21) | public ShengAddressBarDropDownButton(string text)
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDownItem.cs
class ShengAddressBarDropDownItem (line 13) | class ShengAddressBarDropDownItem : ToolStripMenuItem
method ShengAddressBarDropDownItem (line 22) | public ShengAddressBarDropDownItem(string text, Image image, EventHand...
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarStrip.cs
class ShengAddressBarStrip (line 19) | [ToolboxItem(false)]
method ShengAddressBarStrip (line 146) | public ShengAddressBarStrip()
method GetButtonDropDown (line 163) | private ShengAddressBarDropDown GetButtonDropDown(IShengAddressNode ad...
method BuildChildItem (line 216) | private void BuildChildItem(ShengAddressBarButton button)
method AddAddressBarButton (line 259) | private void AddAddressBarButton(ShengAddressBarButton button, ButtonP...
method AddToolStripItemUpdate (line 300) | private void AddToolStripItemUpdate(IShengAddressNode node, ButtonPosi...
method ResetBar (line 324) | private void ResetBar()
method AdjustTextForDisplay (line 357) | private string AdjustTextForDisplay(string text, int colWidth, Font font)
method CreateOverflowDropDown (line 390) | private void CreateOverflowDropDown()
method IsManyNodes (line 477) | private bool IsManyNodes()
method InitializeRoot (line 494) | public void InitializeRoot(IShengAddressNode rootNode)
method SetAddress (line 520) | public void SetAddress(string path)
method SetAddress (line 550) | public void SetAddress(IShengAddressNode addressNode)
method UpdateNode (line 556) | public void UpdateNode()
method DropDown_Opening (line 574) | private void DropDown_Opening(object sender, CancelEventArgs e)
method NodeButtonClicked (line 620) | private void NodeButtonClicked(Object sender, EventArgs e)
method NodeDoubleClickHandler (line 669) | private void NodeDoubleClickHandler(Object sender, EventArgs e)
method OverflowDestroyed (line 690) | private void OverflowDestroyed(Object sender, EventArgs e)
method ScrollDropDownMenu (line 713) | private void ScrollDropDownMenu(Object sender, MouseEventArgs e)
method GiveToolStripDropDownMenuFocus (line 732) | private void GiveToolStripDropDownMenuFocus(Object sender, EventArgs e)
method OnSizeChanged (line 741) | protected override void OnSizeChanged(EventArgs e)
class NodeChangedArgs (line 760) | public class NodeChangedArgs : EventArgs
method NodeChangedArgs (line 789) | public NodeChangedArgs(string uniqueId)
type ButtonPosition (line 805) | private enum ButtonPosition
FILE: Sheng.Winform.Controls/ShengAdressBar/ShengFileSystemNode.cs
class ShengFileSystemNode (line 12) | public class ShengFileSystemNode : IShengAddressNode
method ShengFileSystemNode (line 108) | public ShengFileSystemNode()
method ShengFileSystemNode (line 118) | public ShengFileSystemNode(string path, ShengFileSystemNode parent)
method CreateChildNodes (line 155) | public void CreateChildNodes()
method UpdateChildNodes (line 164) | public void UpdateChildNodes()
method InitChild (line 169) | private void InitChild()
method GetChild (line 206) | public IShengAddressNode GetChild(string uniqueID)
method Clone (line 225) | public IShengAddressNode Clone()
method GenerateRootNode (line 236) | private void GenerateRootNode()
method GenerateNodeDisplayDetails (line 265) | private void GenerateNodeDisplayDetails()
type SHFILEINFO (line 307) | [StructLayout(LayoutKind.Sequential)]
class Win32 (line 319) | class Win32
method SHGetFileInfo (line 330) | [DllImport("shell32.dll")]
method SHGetFileInfo (line 337) | [DllImport("shell32.dll")]
method SHGetSpecialFolderLocation (line 344) | [DllImport("shell32.dll")]
method DestroyIcon (line 349) | [DllImport("user32.dll")]
FILE: Sheng.Winform.Controls/ShengAdvComboBox.cs
class ShengAdvComboBox (line 11) | public class ShengAdvComboBox:Control
method ShengAdvComboBox (line 36) | public ShengAdvComboBox()
method frmTreeView_Deactivate (line 124) | private void frmTreeView_Deactivate(object sender, EventArgs e)
method ToggleTreeView (line 138) | private void ToggleTreeView(object sender, EventArgs e)
method TreeViewComboBox_Load (line 178) | private void TreeViewComboBox_Load(object sender, EventArgs e)
method OnSizeChanged (line 183) | protected override void OnSizeChanged(EventArgs e)
method ReLayout (line 195) | private void ReLayout()
method txtValue_TextChanged (line 208) | private void txtValue_TextChanged(object sender, EventArgs e)
class ComboButton (line 220) | private class ComboButton : Button
method ComboButton (line 228) | public ComboButton()
method OnMouseDown (line 239) | protected override void OnMouseDown(MouseEventArgs e)
method OnMouseUp (line 249) | protected override void OnMouseUp(MouseEventArgs e)
method OnPaint (line 259) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengAdvComboBoxDropdownBase.Designer.cs
class ShengAdvComboBoxDropdownBase (line 3) | partial class ShengAdvComboBoxDropdownBase
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengAdvComboBoxDropdownBase.cs
class ShengAdvComboBoxDropdownBase (line 12) | [ToolboxItem(false)]
method ShengAdvComboBoxDropdownBase (line 15) | public ShengAdvComboBoxDropdownBase()
method GetText (line 20) | public virtual string GetText()
method GetValue (line 25) | public virtual object GetValue()
method SetText (line 30) | public virtual void SetText(object value)
method Close (line 35) | protected void Close()
FILE: Sheng.Winform.Controls/ShengAdvLabel.cs
type FillStyle (line 13) | public enum FillStyle
class ShengAdvLabel (line 20) | public class ShengAdvLabel : Control
method ShengAdvLabel (line 365) | public ShengAdvLabel()
method InitBrush (line 382) | private void InitBrush()
method InitPen (line 397) | private void InitPen()
method EnableDoubleBuffering (line 408) | private void EnableDoubleBuffering()
method OnPaint (line 422) | protected override void OnPaint(PaintEventArgs e)
method OnResize (line 457) | protected override void OnResize(EventArgs e)
FILE: Sheng.Winform.Controls/ShengAreoMainMenuStrip.cs
class ShengAreoMainMenuStrip (line 15) | public class ShengAreoMainMenuStrip : MenuStrip
method ShengAreoMainMenuStrip (line 17) | public ShengAreoMainMenuStrip()
method OnPaintBackground (line 24) | protected override void OnPaintBackground(PaintEventArgs e)
class SEAreoMainMenuStripRenderer (line 102) | public class SEAreoMainMenuStripRenderer : SEToolStripRender
method SEAreoMainMenuStripRenderer (line 106) | public SEAreoMainMenuStripRenderer()
method OnRenderItemText (line 124) | protected override void OnRenderItemText(ToolStripItemTextRenderEventA...
FILE: Sheng.Winform.Controls/ShengColorChooseComboBox.Designer.cs
class ShengColorChooseComboBox (line 3) | partial class ShengColorChooseComboBox
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengColorChooseComboBox.cs
class ShengColorChooseComboBox (line 17) | public partial class ShengColorChooseComboBox : UserControl
method ShengColorChooseComboBox (line 46) | public ShengColorChooseComboBox()
method frmTreeView_Deactivate (line 178) | private void frmTreeView_Deactivate(object sender, EventArgs e)
method ToggleTreeView (line 212) | private void ToggleTreeView(object sender, EventArgs e)
method TreeViewComboBox_Load (line 248) | private void TreeViewComboBox_Load(object sender, EventArgs e)
method OnSizeChanged (line 253) | protected override void OnSizeChanged(EventArgs e)
method ReLayout (line 265) | private void ReLayout()
method SetDropDownFormOwner (line 282) | public void SetDropDownFormOwner(bool ownerForm)
method txtValue_TextChanged (line 309) | private void txtValue_TextChanged(object sender, EventArgs e)
class ComboButton (line 322) | private class ComboButton : Button
method ComboButton (line 330) | public ComboButton()
method OnMouseDown (line 341) | protected override void OnMouseDown(MouseEventArgs e)
method OnMouseUp (line 351) | protected override void OnMouseUp(MouseEventArgs e)
method OnPaint (line 361) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengColorChooseComboBoxDropDown.Designer.cs
class ShengColorChooseComboBoxDropDown (line 3) | partial class ShengColorChooseComboBoxDropDown
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengColorChooseComboBoxDropDown.cs
class ShengColorChooseComboBoxDropDown (line 14) | [ToolboxItem(false)]
method ShengColorChooseComboBoxDropDown (line 113) | public ShengColorChooseComboBoxDropDown()
method ShowCurrentTabPage (line 183) | public void ShowCurrentTabPage()
method SEColorChooseComboBoxDropDown_Load (line 251) | private void SEColorChooseComboBoxDropDown_Load(object sender, EventAr...
method dataGridViewWebColor_CellMouseClick (line 256) | private void dataGridViewWebColor_CellMouseClick(object sender, DataGr...
method dataGridViewSystemColors_CellMouseClick (line 266) | private void dataGridViewSystemColors_CellMouseClick(object sender, Da...
method btnClearColor_Click (line 278) | private void btnClearColor_Click(object sender, EventArgs e)
method btnChooseColor_Click (line 290) | private void btnChooseColor_Click(object sender, EventArgs e)
FILE: Sheng.Winform.Controls/ShengComboBox.cs
class ShengComboBox (line 12) | public class ShengComboBox : ComboBox, IShengValidate
method ShengComboBox (line 54) | public ShengComboBox()
method WndProc (line 63) | protected override void WndProc(ref Message m)
method SEValidate (line 121) | public bool SEValidate(out string msg)
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelector.Designer.cs
class ShengComboSelector (line 3) | partial class ShengComboSelector
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelector.cs
class ShengComboSelector (line 17) | public partial class ShengComboSelector : UserControl, IShengValidate
method ShengComboSelector (line 619) | public ShengComboSelector()
method OnPaint (line 648) | protected override void OnPaint(PaintEventArgs e)
method OnMouseEnter (line 794) | protected override void OnMouseEnter(EventArgs e)
method OnMouseLeave (line 805) | protected override void OnMouseLeave(EventArgs e)
method OnEnter (line 825) | protected override void OnEnter(EventArgs e)
method OnLeave (line 831) | protected override void OnLeave(EventArgs e)
method OnMouseDown (line 839) | protected override void OnMouseDown(MouseEventArgs e)
method ShowDropDown (line 849) | private void ShowDropDown()
method _popup_Closed (line 876) | void _popup_Closed(object sender, ToolStripDropDownClosedEventArgs e)
method _itemContainer_OnSelectedItemChanged (line 881) | void _itemContainer_OnSelectedItemChanged(ShengComboSelectorItem item)
method _itemContainer_OnItemClick (line 896) | void _itemContainer_OnItemClick(ShengComboSelectorItem item)
type EnumState (line 905) | public enum EnumState
method SEValidate (line 968) | public bool SEValidate(out string msg)
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItem.cs
class ShengComboSelectorItem (line 12) | public class ShengComboSelectorItem
method ShengComboSelectorItem (line 124) | public ShengComboSelectorItem(object value)
method DrawItem (line 134) | public void DrawItem(Graphics g)
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemCollection.cs
class ShengComboSelectorItemCollection (line 9) | public class ShengComboSelectorItemCollection : CollectionBase
method ShengComboSelectorItemCollection (line 13) | public ShengComboSelectorItemCollection()
method ShengComboSelectorItemCollection (line 17) | public ShengComboSelectorItemCollection(ShengComboSelectorItemCollecti...
method ShengComboSelectorItemCollection (line 22) | public ShengComboSelectorItemCollection(ShengComboSelectorItem[] value)
method Add (line 43) | public virtual int Add(ShengComboSelectorItem value)
method AddRange (line 48) | public void AddRange(ShengComboSelectorItem[] value)
method AddRange (line 56) | public void AddRange(ShengComboSelectorItemCollection value)
method Contains (line 64) | public bool Contains(ShengComboSelectorItem value)
method CopyTo (line 69) | public void CopyTo(ShengComboSelectorItem[] array, int index)
method IndexOf (line 74) | public int IndexOf(ShengComboSelectorItem value)
method Insert (line 79) | public void Insert(int index, ShengComboSelectorItem value)
method GetEnumerator (line 84) | public new SERichComboBoxDropItemEnumerator GetEnumerator()
method Remove (line 89) | public virtual void Remove(ShengComboSelectorItem value)
class SERichComboBoxDropItemEnumerator (line 98) | public class SERichComboBoxDropItemEnumerator : object, IEnumerator
method SERichComboBoxDropItemEnumerator (line 105) | public SERichComboBoxDropItemEnumerator(ShengComboSelectorItemCollec...
method MoveNext (line 127) | public bool MoveNext()
method MoveNext (line 132) | bool IEnumerator.MoveNext()
method Reset (line 137) | public void Reset()
method Reset (line 142) | void IEnumerator.Reset()
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemContainer.Designer.cs
class ShengComboSelectorItemContainer (line 3) | partial class ShengComboSelectorItemContainer
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemContainer.cs
class ShengComboSelectorItemContainer (line 15) | public partial class ShengComboSelectorItemContainer : UserControl
method ShengComboSelectorItemContainer (line 504) | public ShengComboSelectorItemContainer()
method CreateItem (line 530) | private void CreateItem()
method AddItem (line 542) | private void AddItem(ShengComboSelectorItem item)
method SelectItem (line 548) | private void SelectItem(int selectedIndex)
method SelectItemByValue (line 569) | private void SelectItemByValue(object value)
method GetMouseHotIndex (line 600) | private int GetMouseHotIndex(int mouseY)
method DrawBackGround (line 605) | private void DrawBackGround()
method DrawItems (line 611) | private void DrawItems()
method Reset (line 642) | private void Reset()
method ShowItem (line 664) | public void ShowItem()
method InDisplayRange (line 676) | public bool InDisplayRange(int index)
method DrawItem (line 692) | internal void DrawItem(int index)
method GetItemRectangle (line 699) | public Rectangle GetItemRectangle(int index)
method panelItem_MouseEnter (line 714) | private void panelItem_MouseEnter(object sender, EventArgs e)
method SERichComboBoxDropPanel_MouseWheel (line 723) | private void SERichComboBoxDropPanel_MouseWheel(object sender, MouseEv...
method panelItem_Paint (line 738) | private void panelItem_Paint(object sender, PaintEventArgs e)
method panelItem_MouseClick (line 743) | private void panelItem_MouseClick(object sender, MouseEventArgs e)
method panelItem_MouseMove (line 768) | private void panelItem_MouseMove(object sender, MouseEventArgs e)
method panelItem_MouseLeave (line 780) | private void panelItem_MouseLeave(object sender, EventArgs e)
method panelItem_MouseHover (line 786) | private void panelItem_MouseHover(object sender, EventArgs e)
method vScrollBar_ValueChanged (line 791) | private void vScrollBar_ValueChanged(object sender, EventArgs e)
FILE: Sheng.Winform.Controls/ShengComboSelector2/Enums.cs
type ShengComboSelectorState (line 11) | [Flags]
FILE: Sheng.Winform.Controls/ShengComboSelector2/ShengComboSelector2.cs
class ShengComboSelector2 (line 19) | public class ShengComboSelector2 : Control, IShengValidate
method ShengComboSelector2 (line 200) | public ShengComboSelector2()
method _listView_Click (line 234) | void _listView_Click(object sender, EventArgs e)
method _listView_SelectedItemChanaged (line 239) | void _listView_SelectedItemChanaged(object sender, EventArgs e)
method _listView_ItemTextGetting (line 245) | void _listView_ItemTextGetting(object sender, ShengListViewGetItemText...
method _popup_Closed (line 255) | void _popup_Closed(object sender, ToolStripDropDownClosedEventArgs e)
method ApplyTheme (line 268) | private void ApplyTheme()
method OnSelectedValueChanged (line 279) | private void OnSelectedValueChanged(object value)
method MeasureHeight (line 293) | private int MeasureHeight()
method GetBorderRectangle (line 308) | private Rectangle GetBorderRectangle()
method GetContentRectangle (line 316) | private Rectangle GetContentRectangle()
method GetButtonAreaRectangle (line 332) | private Rectangle GetButtonAreaRectangle()
method GetTextRectangle (line 345) | private Rectangle GetTextRectangle()
method GetDescriptionRectangle (line 359) | private Rectangle GetDescriptionRectangle()
method Render (line 375) | private void Render(Graphics g)
method DrawBorderground (line 392) | private void DrawBorderground(Graphics g)
method DrawBackground (line 425) | private void DrawBackground(Graphics g)
method DrawText (line 471) | private void DrawText(Graphics g)
method DrawButton (line 530) | private void DrawButton(Graphics g)
method DrawFocusRectangle (line 550) | private void DrawFocusRectangle(Graphics g)
method OnSizeChanged (line 560) | protected override void OnSizeChanged(EventArgs e)
method OnPaintBackground (line 566) | protected override void OnPaintBackground(PaintEventArgs pevent)
method OnPaint (line 572) | protected override void OnPaint(PaintEventArgs e)
method OnMouseEnter (line 577) | protected override void OnMouseEnter(EventArgs e)
method OnMouseLeave (line 587) | protected override void OnMouseLeave(EventArgs e)
method OnEnter (line 600) | protected override void OnEnter(EventArgs e)
method OnLeave (line 606) | protected override void OnLeave(EventArgs e)
method OnGotFocus (line 613) | protected override void OnGotFocus(EventArgs e)
method OnLostFocus (line 619) | protected override void OnLostFocus(EventArgs e)
method OnMouseDown (line 625) | protected override void OnMouseDown(MouseEventArgs e)
method ShowDropDown (line 638) | private void ShowDropDown()
method DataBind (line 668) | public void DataBind(IList dataSource)
method GetSelectedValue (line 674) | public object GetSelectedValue()
method SetSelectedValue (line 679) | public void SetSelectedValue(object obj)
method Clear (line 684) | public void Clear()
class OnSelectedValueChangedEventArgs (line 701) | public class OnSelectedValueChangedEventArgs:EventArgs
method OnSelectedValueChangedEventArgs (line 709) | public OnSelectedValueChangedEventArgs(object value)
class ItemTextGettingEventArgs (line 720) | public class ItemTextGettingEventArgs : EventArgs
method ItemTextGettingEventArgs (line 726) | public ItemTextGettingEventArgs(object item)
method SEValidate (line 772) | public bool SEValidate(out string msg)
FILE: Sheng.Winform.Controls/ShengComboSelector2/ShengComboSelectorTheme.cs
class ShengComboSelectorTheme (line 10) | public class ShengComboSelectorTheme
method CreateDisabledBackgroundBrush (line 220) | public Brush CreateDisabledBackgroundBrush(Rectangle bounds)
method CreateBackgroundBrush (line 225) | public Brush CreateBackgroundBrush(Rectangle bounds)
method CreateBorderBrush (line 230) | public Brush CreateBorderBrush(Rectangle bounds)
method CreateHoveredBackgroundBrush (line 235) | public Brush CreateHoveredBackgroundBrush(Rectangle bounds)
method CreateHoveredBorderBrush (line 240) | public Brush CreateHoveredBorderBrush(Rectangle bounds)
method CreateSelectedBackgroundBrush (line 245) | public Brush CreateSelectedBackgroundBrush(Rectangle bounds)
method CreateSelectedBorderBrush (line 250) | public Brush CreateSelectedBorderBrush(Rectangle bounds)
FILE: Sheng.Winform.Controls/ShengDataGridView/Renderer/IShengDataGridViewCellRenderer.cs
type IShengDataGridViewCellRenderer (line 14) | interface IShengDataGridViewCellRenderer
method Paint (line 19) | void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds,
FILE: Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewCheckBoxCellRenderer.cs
class ShengDataGridViewCheckBoxCellRenderer (line 11) | class ShengDataGridViewCheckBoxCellRenderer : IShengDataGridViewCellRend...
method Paint (line 21) | public void Paint(System.Drawing.Graphics graphics, Rectangle clipBoun...
FILE: Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewImageCellRenderer.cs
class ShengDataGridViewImageCellRenderer (line 13) | class ShengDataGridViewImageCellRenderer : IShengDataGridViewCellRenderer
method Paint (line 23) | public void Paint(System.Drawing.Graphics graphics, Rectangle clipBoun...
FILE: Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewRenderer.cs
class ShengDataGridViewRenderer (line 16) | class ShengDataGridViewRenderer
method ShengDataGridViewRenderer (line 55) | public ShengDataGridViewRenderer(DataGridView dataGridView)
method _dataGridView_Scroll (line 77) | private void _dataGridView_Scroll(object sender, ScrollEventArgs e)
method _dataGridView_MouseLeave (line 84) | private void _dataGridView_MouseLeave(object sender, EventArgs e)
method _dataGridView_MouseMove (line 94) | private void _dataGridView_MouseMove(object sender, MouseEventArgs e)
method _dataGridView_GotFocus (line 123) | private void _dataGridView_GotFocus(object sender, EventArgs e)
method _dataGridView_LostFocus (line 128) | private void _dataGridView_LostFocus(object sender, EventArgs e)
method _dataGridView_CellPainting (line 133) | private void _dataGridView_CellPainting(object sender, DataGridViewCel...
method DrawCell (line 143) | private void DrawCell(Graphics g, Rectangle bounds, int rowIndex, int ...
method DrawColumnHeader (line 177) | private void DrawColumnHeader(Graphics g, Rectangle bounds, int column...
method DrawRowHeader (line 278) | private void DrawRowHeader(Graphics g, Rectangle bounds, DataGridViewE...
method DrawRowCell (line 290) | private void DrawRowCell(Graphics g, Rectangle bounds, int rowIndex, i...
method DrawRowCell (line 389) | private void DrawRowCell(Graphics g, int columnIndex, Rectangle bounds...
method DrawRow (line 423) | private void DrawRow(int rowIndex)
method GetCellRectangle (line 483) | private Rectangle GetCellRectangle(int columnIndex, int rowIndex)
method GetRowDisplayRectangle (line 537) | private Rectangle GetRowDisplayRectangle(int rowIndex)
method GetCellRenderer (line 555) | private IShengDataGridViewCellRenderer GetCellRenderer(DataGridViewCel...
method AddCellRenderer (line 573) | public void AddCellRenderer(IShengDataGridViewCellRenderer cellRenderer)
FILE: Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewRendererTheme.cs
class ShengDataGridViewRendererTheme (line 9) | class ShengDataGridViewRendererTheme
FILE: Sheng.Winform.Controls/ShengDataGridView/ShengDataGridView.cs
class ShengDataGridView (line 12) | public class ShengDataGridView : DataGridView
method ShengDataGridView (line 31) | public ShengDataGridView()
method OnCellMouseDown (line 53) | protected override void OnCellMouseDown(DataGridViewCellMouseEventArgs e)
method OnPaint (line 100) | protected override void OnPaint(PaintEventArgs e)
method PaintWaterText (line 144) | private void PaintWaterText()
FILE: Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewCheckBoxColumn.cs
class ShengDataGridViewCheckBoxColumn (line 12) | public class ShengDataGridViewCheckBoxColumn : DataGridViewCheckBoxColumn
method ShengDataGridViewCheckBoxColumn (line 14) | public ShengDataGridViewCheckBoxColumn()
class SEDataGridViewCheckBoxCell (line 23) | public class SEDataGridViewCheckBoxCell : DataGridViewCheckBoxCell
method Clone (line 26) | public override object Clone()
method SEDataGridViewCheckBoxCell (line 33) | public SEDataGridViewCheckBoxCell()
method Paint (line 37) | protected override void Paint(Graphics graphics, Rectangle clipBounds,...
FILE: Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewImageBinderCell.cs
class ShengDataGridViewImageBinderCell (line 11) | public class ShengDataGridViewImageBinderCell : DataGridViewImageCell
method ShengDataGridViewImageBinderCell (line 13) | public ShengDataGridViewImageBinderCell()
method GetValue (line 18) | protected override object GetValue(int rowIndex)
FILE: Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewImageBinderColumn.cs
class ShengDataGridViewImageBinderColumn (line 15) | public class ShengDataGridViewImageBinderColumn : DataGridViewImageColumn
method ShengDataGridViewImageBinderColumn (line 25) | public ShengDataGridViewImageBinderColumn()
method AddCodon (line 34) | public void AddCodon(ImageAndTypeMappingCodon codon)
method Mapping (line 48) | public void Mapping(Type type, Image image)
method Mapping (line 53) | public void Mapping(Type type, Image image, bool actOnSubClass)
method GetImage (line 58) | internal Image GetImage(object data)
method GetCodon (line 79) | private ImageAndTypeMappingCodon GetCodon(Type type)
FILE: Sheng.Winform.Controls/ShengDatetimePicker.cs
class ShengDatetimePicker (line 10) | public class ShengDatetimePicker:DateTimePicker
method ShengDatetimePicker (line 66) | public ShengDatetimePicker()
method OnValueChanged (line 75) | protected override void OnValueChanged(EventArgs eventargs)
FILE: Sheng.Winform.Controls/ShengFlatButton.Designer.cs
class ShengFlatButton (line 3) | partial class ShengFlatButton
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengFlatButton.cs
class ShengFlatButton (line 19) | public partial class ShengFlatButton : UserControl
method ShengFlatButton (line 125) | public ShengFlatButton()
method OnPaint (line 135) | protected override void OnPaint(PaintEventArgs e)
method EnableDoubleBuffering (line 194) | private void EnableDoubleBuffering()
method OnClick (line 204) | protected override void OnClick(EventArgs e)
FILE: Sheng.Winform.Controls/ShengForm.Designer.cs
class ShengForm (line 3) | partial class ShengForm
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengForm.cs
class ShengForm (line 15) | public partial class ShengForm : Form, IShengForm
method ShengForm (line 17) | public ShengForm()
method DoValidate (line 27) | public virtual bool DoValidate()
FILE: Sheng.Winform.Controls/ShengGroupBox.cs
class ShengGroupBox (line 12) | public class ShengGroupBox : GroupBox, IShengValidate
method ShengGroupBox (line 16) | public ShengGroupBox()
method SEValidate (line 65) | public bool SEValidate(out string validateMsg)
FILE: Sheng.Winform.Controls/ShengImageListView/Enums.cs
type ShengImageListViewItemState (line 11) | [Flags]
type ShengImageListViewItemVisibility (line 32) | public enum ShengImageListViewItemVisibility
FILE: Sheng.Winform.Controls/ShengImageListView/Events.cs
class ShengImageListViewItemDoubleClickEventArgs (line 12) | public class ShengImageListViewItemDoubleClickEventArgs : EventArgs
method ShengImageListViewItemDoubleClickEventArgs (line 16) | public ShengImageListViewItemDoubleClickEventArgs(ShengImageListViewIt...
class ShengImageListViewItemsRemovedEventArgs (line 25) | public class ShengImageListViewItemsRemovedEventArgs : EventArgs
method ShengImageListViewItemsRemovedEventArgs (line 29) | public ShengImageListViewItemsRemovedEventArgs(List<ShengImageListView...
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListView.cs
class ShengImageListView (line 12) | public class ShengImageListView : Control
method ShengImageListView (line 189) | public ShengImageListView()
method NeedPaint (line 228) | internal void NeedPaint()
method RenderItem (line 233) | internal void RenderItem(ShengImageListViewItem item)
method ResumeLayout (line 259) | public new void ResumeLayout()
method SuspendLayout (line 290) | public new void SuspendLayout()
method Refresh (line 297) | public override void Refresh()
method GetSelectedItems (line 316) | public List<ShengImageListViewItem> GetSelectedItems()
method ClearSelect (line 332) | public void ClearSelect()
method OnSelectedItemChanged (line 353) | public void OnSelectedItemChanged()
method OnItemDoubleClick (line 365) | public void OnItemDoubleClick(ShengImageListViewItem item)
method OnItemsRemoved (line 373) | public void OnItemsRemoved(List<ShengImageListViewItem> items)
method Hover (line 387) | private void Hover(Point location)
method OnResize (line 423) | protected override void OnResize(EventArgs e)
method OnMouseDown (line 432) | protected override void OnMouseDown(MouseEventArgs e)
method OnMouseUp (line 451) | protected override void OnMouseUp(MouseEventArgs e)
method OnMouseMove (line 474) | protected override void OnMouseMove(MouseEventArgs e)
method OnMouseWheel (line 494) | protected override void OnMouseWheel(MouseEventArgs e)
method OnMouseDoubleClick (line 508) | protected override void OnMouseDoubleClick(MouseEventArgs e)
method OnMouseHover (line 523) | protected override void OnMouseHover(EventArgs e)
method IsInputKey (line 535) | protected override bool IsInputKey(Keys keyData)
method OnKeyDown (line 546) | protected override void OnKeyDown(KeyEventArgs e)
method OnKeyUp (line 556) | protected override void OnKeyUp(KeyEventArgs e)
method OnGotFocus (line 570) | protected override void OnGotFocus(EventArgs e)
method OnLostFocus (line 576) | protected override void OnLostFocus(EventArgs e)
method OnPaint (line 586) | protected override void OnPaint(PaintEventArgs e)
method Dispose (line 599) | protected override void Dispose(bool disposing)
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewCollection.cs
class ShengImageListViewCollection (line 9) | public class ShengImageListViewCollection : CollectionBase, IList<ShengI...
method ShengImageListViewCollection (line 13) | public ShengImageListViewCollection()
method ShengImageListViewCollection (line 17) | public ShengImageListViewCollection(ShengImageListViewCollection value)
method ShengImageListViewCollection (line 22) | public ShengImageListViewCollection(ShengImageListViewItem[] value)
method Add (line 39) | public int Add(ShengImageListViewItem value)
method AddRange (line 47) | public void AddRange(ShengImageListViewItem[] value)
method AddRange (line 59) | public void AddRange(ShengImageListViewCollection value)
method Contains (line 71) | public bool Contains(ShengImageListViewItem value)
method CopyTo (line 76) | public void CopyTo(ShengImageListViewItem[] array, int index)
method IndexOf (line 81) | public int IndexOf(ShengImageListViewItem value)
method Insert (line 86) | public void Insert(int index, ShengImageListViewItem value)
method Remove (line 92) | public void Remove(ShengImageListViewItem value)
method Remove (line 101) | public void Remove(List<ShengImageListViewItem> items)
method RemoveAt (line 116) | public new void RemoveAt(int index)
method ToArray (line 138) | public ShengImageListViewItem[] ToArray()
method ToList (line 143) | public List<ShengImageListViewItem> ToList()
method PreTo (line 160) | public void PreTo(ShengImageListViewItem targetEvent, ShengImageListVi...
method NextTo (line 195) | public void NextTo(ShengImageListViewItem targetEvent, ShengImageListV...
class ImageListViewItemEnumerator (line 223) | [Serializable]
method ImageListViewItemEnumerator (line 230) | public ImageListViewItemEnumerator(ShengImageListViewCollection mapp...
method MoveNext (line 252) | public bool MoveNext()
method MoveNext (line 257) | bool IEnumerator.MoveNext()
method Reset (line 262) | public void Reset()
method Reset (line 267) | void IEnumerator.Reset()
method Dispose (line 274) | public void Dispose()
method Add (line 286) | void ICollection<ShengImageListViewItem>.Add(ShengImageListViewItem item)
method Remove (line 296) | bool ICollection<ShengImageListViewItem>.Remove(ShengImageListViewItem...
method GetEnumerator (line 306) | public new IEnumerator<ShengImageListViewItem> GetEnumerator()
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewColor.cs
class ShengImageListViewColor (line 12) | public class ShengImageListViewColor
method ShengImageListViewColor (line 409) | public ShengImageListViewColor()
method ShengImageListViewColor (line 468) | public ShengImageListViewColor(string definition)
method CopyFrom (line 518) | public void CopyFrom(ShengImageListViewColor source)
method GetDefaultTheme (line 549) | private static ShengImageListViewColor GetDefaultTheme()
method GetMandarinTheme (line 556) | private static ShengImageListViewColor GetMandarinTheme()
method GetNoirTheme (line 615) | private static ShengImageListViewColor GetNoirTheme()
method Equals (line 682) | public override bool Equals(object obj)
method GetHashCode (line 712) | public override int GetHashCode()
method ToString (line 723) | public override string ToString()
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewHitInfo.cs
class ShengImageListViewHitInfo (line 11) | class ShengImageListViewHitInfo
method ShengImageListViewHitInfo (line 23) | public ShengImageListViewHitInfo(int itemIndex,bool itemHit)
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewItem.cs
class ShengImageListViewItem (line 9) | public class ShengImageListViewItem
method ShengImageListViewItem (line 151) | public ShengImageListViewItem(object key, GetImageHandler getImageHand...
method ShengImageListViewItem (line 157) | public ShengImageListViewItem(object key, string header, GetImageHandl...
method Render (line 168) | private void Render()
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewItemThumbnailsCache.cs
class ShengImageListViewItemThumbnailsCache (line 13) | class ShengImageListViewItemThumbnailsCache
method ShengImageListViewItemThumbnailsCache (line 23) | public ShengImageListViewItemThumbnailsCache()
method Container (line 32) | public bool Container(ShengImageListViewItem item)
method GetThumbnail (line 42) | public Image GetThumbnail(ShengImageListViewItem item)
method AddThumbnail (line 55) | public void AddThumbnail(ShengImageListViewItem item, Image thumbnail)
method RemoveThumbnail (line 76) | public void RemoveThumbnail(ShengImageListViewItem item)
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewLayoutManager.cs
class ShengImageListViewLayoutManager (line 11) | public class ShengImageListViewLayoutManager
method ShengImageListViewLayoutManager (line 266) | public ShengImageListViewLayoutManager(ShengImageListView imageListView)
method _vScrollBar_Scroll (line 293) | void _vScrollBar_Scroll(object sender, ScrollEventArgs e)
method _vScrollBar_ValueChanged (line 302) | void _vScrollBar_ValueChanged(object sender, EventArgs e)
method _scrollTimer_Tick (line 327) | void _scrollTimer_Tick(object sender, EventArgs e)
method OnItemsRemoved (line 349) | internal void OnItemsRemoved(List<ShengImageListViewItem> items)
method HitTest (line 354) | internal ShengImageListViewHitInfo HitTest(Point point)
method Render (line 412) | public void Render(Graphics graphics)
method RenderItem (line 421) | public void RenderItem(Graphics graphics, ShengImageListViewItem item)
method Update (line 431) | public void Update()
method IsItemVisible (line 447) | public ShengImageListViewItemVisibility IsItemVisible(ShengImageListVi...
method GetItemBounds (line 470) | public Rectangle GetItemBounds(ShengImageListViewItem item)
method GetItemBounds (line 477) | public Rectangle GetItemBounds(int index)
method GetItems (line 494) | public List<ShengImageListViewItem> GetItems()
method GetVisibleItems (line 503) | public List<ShengImageListViewItem> GetVisibleItems()
method MouseDown (line 519) | public void MouseDown(MouseEventArgs e)
method MouseUp (line 672) | public void MouseUp(MouseEventArgs e)
method MouseMove (line 683) | public void MouseMove(MouseEventArgs e)
method OnMouseWheel (line 740) | public void OnMouseWheel(MouseEventArgs e)
method OnKeyDown (line 754) | public void OnKeyDown(KeyEventArgs e)
method OnKeyUp (line 823) | public void OnKeyUp(KeyEventArgs e)
method Refresh (line 832) | private void Refresh()
method CalculateGrid (line 841) | private void CalculateGrid()
method CalculateVisibleItemsRange (line 854) | private void CalculateVisibleItemsRange()
method UpdateScrollBars (line 890) | private void UpdateScrollBars()
method CreateSelectionRectangle (line 929) | private Rectangle CreateSelectionRectangle()
method SelectItemsByRectangle (line 963) | private void SelectItemsByRectangle(Rectangle rect)
method ApplyNavKey (line 1035) | private int ApplyNavKey(int index, Keys key)
method EnsureVisible (line 1068) | public void EnsureVisible(int itemIndex)
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewRenderer.cs
class ShengImageListViewRenderer (line 15) | public class ShengImageListViewRenderer
method ShengImageListViewRenderer (line 47) | public ShengImageListViewRenderer(ShengImageListViewLayoutManager layo...
method Render (line 58) | public void Render(Graphics graphics)
method RenderItem (line 74) | public void RenderItem(Graphics g, ShengImageListViewItem item)
method OnItemsRemoved (line 93) | internal virtual void OnItemsRemoved(List<ShengImageListViewItem> items)
method DrawBackground (line 105) | internal virtual void DrawBackground(Graphics g, Rectangle bounds)
method DrawForeground (line 116) | internal virtual void DrawForeground(Graphics g)
method DrawSelectionRectangle (line 140) | internal virtual void DrawSelectionRectangle(Graphics g, Rectangle sel...
method DrawItemBorder (line 158) | internal virtual void DrawItemBorder(Graphics g, Rectangle bounds)
method DrawItem (line 178) | internal virtual void DrawItem(Graphics g, ShengImageListViewItem item)
method DrawItemBackground (line 236) | internal virtual void DrawItemBackground(Graphics g, Rectangle bounds)
method DrawItemContent (line 251) | internal virtual void DrawItemContent(Graphics g, Rectangle bounds, Sh...
method RenderBackground (line 268) | private void RenderBackground(Graphics g)
method RenderItems (line 281) | private void RenderItems(Graphics g)
method RenderSelectionRectangle (line 305) | private void RenderSelectionRectangle(Graphics g)
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewStandardRenderer.cs
class ShengImageListViewStandardRenderer (line 10) | public class ShengImageListViewStandardRenderer : ShengImageListViewRend...
method ShengImageListViewStandardRenderer (line 31) | public ShengImageListViewStandardRenderer(ShengImageListViewLayoutMana...
method OnItemsRemoved (line 42) | internal override void OnItemsRemoved(List<ShengImageListViewItem> items)
method DrawForeground (line 52) | internal override void DrawForeground(Graphics g)
method DrawItemContent (line 57) | internal override void DrawItemContent(Graphics g, Rectangle bounds, S...
FILE: Sheng.Winform.Controls/ShengImageListView/ShengImageListViewTheme.cs
class ShengImageListViewTheme (line 10) | public class ShengImageListViewTheme
FILE: Sheng.Winform.Controls/ShengImageListView/Utility.cs
class ImageListViewUtility (line 12) | public static class ImageListViewUtility
method FormatSize (line 19) | public static string FormatSize(long size)
method IsImage (line 44) | internal static bool IsImage(Stream stream)
method DrawStringPair (line 109) | internal static int DrawStringPair(Graphics g, Rectangle r, string cap...
method GetSizedImageBounds (line 143) | internal static Size GetSizedImageBounds(Image image, Size fit)
method GetSizedImageBounds (line 160) | public static Rectangle GetSizedImageBounds(Image image, Rectangle fit...
method GetSizedImageBounds (line 180) | public static Rectangle GetSizedImageBounds(Image image, Rectangle fit)
method GetRoundedRectanglePath (line 187) | private static GraphicsPath GetRoundedRectanglePath(int x, int y, int ...
method FillRoundedRectangle (line 207) | public static void FillRoundedRectangle(System.Drawing.Graphics graphi...
method FillRoundedRectangle (line 217) | public static void FillRoundedRectangle(System.Drawing.Graphics graphi...
method FillRoundedRectangle (line 224) | public static void FillRoundedRectangle(System.Drawing.Graphics graphi...
method FillRoundedRectangle (line 231) | public static void FillRoundedRectangle(System.Drawing.Graphics graphi...
method DrawRoundedRectangle (line 238) | public static void DrawRoundedRectangle(System.Drawing.Graphics graphi...
method DrawRoundedRectangle (line 248) | public static void DrawRoundedRectangle(System.Drawing.Graphics graphi...
method DrawRoundedRectangle (line 255) | public static void DrawRoundedRectangle(System.Drawing.Graphics graphi...
method DrawRoundedRectangle (line 262) | public static void DrawRoundedRectangle(System.Drawing.Graphics graphi...
class Tuple (line 272) | public static class Tuple
method Create (line 280) | public static Tuple<T1> Create<T1>(T1 item1)
method Create (line 292) | public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2)
method Create (line 306) | public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item...
method Tuple (line 327) | public Tuple(T1 item1)
method Tuple (line 349) | public Tuple(T1 item1, T2 item2)
method Tuple (line 373) | public Tuple(T1 item1, T2 item2, T3 item3)
class Tuple (line 314) | public class Tuple<T1>
method Create (line 280) | public static Tuple<T1> Create<T1>(T1 item1)
method Create (line 292) | public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2)
method Create (line 306) | public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item...
method Tuple (line 327) | public Tuple(T1 item1)
method Tuple (line 349) | public Tuple(T1 item1, T2 item2)
method Tuple (line 373) | public Tuple(T1 item1, T2 item2, T3 item3)
class Tuple (line 335) | public class Tuple<T1, T2> : Tuple<T1>
method Create (line 280) | public static Tuple<T1> Create<T1>(T1 item1)
method Create (line 292) | public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2)
method Create (line 306) | public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item...
method Tuple (line 327) | public Tuple(T1 item1)
method Tuple (line 349) | public Tuple(T1 item1, T2 item2)
method Tuple (line 373) | public Tuple(T1 item1, T2 item2, T3 item3)
class Tuple (line 358) | public class Tuple<T1, T2, T3> : Tuple<T1, T2>
method Create (line 280) | public static Tuple<T1> Create<T1>(T1 item1)
method Create (line 292) | public static Tuple<T1, T2> Create<T1, T2>(T1 item1, T2 item2)
method Create (line 306) | public static Tuple<T1, T2, T3> Create<T1, T2, T3>(T1 item1, T2 item...
method Tuple (line 327) | public Tuple(T1 item1)
method Tuple (line 349) | public Tuple(T1 item1, T2 item2)
method Tuple (line 373) | public Tuple(T1 item1, T2 item2, T3 item3)
method GetScaleImage (line 389) | public static Image GetScaleImage(Image image, Size size)
FILE: Sheng.Winform.Controls/ShengLine.cs
class ShengLine (line 11) | public class ShengLine:Control
method ShengLine (line 13) | public ShengLine()
method OnPaint (line 18) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengListView/Enums.cs
type ShengListViewItemState (line 11) | [Flags]
type ShengListViewItemVisibility (line 32) | public enum ShengListViewItemVisibility
type ShengListViewLayoutMode (line 51) | public enum ShengListViewLayoutMode
FILE: Sheng.Winform.Controls/ShengListView/Events.cs
class ShengListViewItemDoubleClickEventArgs (line 12) | public class ShengListViewItemDoubleClickEventArgs : EventArgs
method ShengListViewItemDoubleClickEventArgs (line 16) | public ShengListViewItemDoubleClickEventArgs(ShengListViewItem item)
class ShengListViewItemsRemovedEventArgs (line 25) | public class ShengListViewItemsRemovedEventArgs : EventArgs
method ShengListViewItemsRemovedEventArgs (line 29) | public ShengListViewItemsRemovedEventArgs(List<ShengListViewItem> items)
class ShengListViewGetItemTextEventArgs (line 35) | public class ShengListViewGetItemTextEventArgs : EventArgs
method ShengListViewGetItemTextEventArgs (line 41) | public ShengListViewGetItemTextEventArgs(object item)
FILE: Sheng.Winform.Controls/ShengListView/Layout/IShengListViewExtendMember.cs
type IShengListViewExtendMember (line 8) | public interface IShengListViewExtendMember
method GetExtendMembers (line 10) | Dictionary<string, string> GetExtendMembers();
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveLayoutManager.cs
class ShengListViewDescriptiveLayoutManager (line 8) | class ShengListViewDescriptiveLayoutManager : ShengListViewLayoutManager
method ShengListViewDescriptiveLayoutManager (line 10) | public ShengListViewDescriptiveLayoutManager(ShengListView imageListView)
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveMembers.cs
class ShengListViewDescriptiveMembers (line 8) | public class ShengListViewDescriptiveMembers : IShengListViewExtendMember
method GetExtendMembers (line 15) | public Dictionary<string, string> GetExtendMembers()
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveRenderer.cs
class ShengListViewDescriptiveRenderer (line 12) | public class ShengListViewDescriptiveRenderer : ShengListViewRenderer
method ShengListViewDescriptiveRenderer (line 31) | public ShengListViewDescriptiveRenderer(ShengListViewLayoutManager lay...
method DrawForeground (line 44) | internal override void DrawForeground(Graphics g)
method DrawItemContent (line 49) | internal override void DrawItemContent(Graphics g, Rectangle bounds, S...
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewLayoutManager.cs
class ShengListViewLayoutManager (line 12) | public class ShengListViewLayoutManager
method ShengListViewLayoutManager (line 267) | public ShengListViewLayoutManager(ShengListView imageListView)
method _vScrollBar_Scroll (line 296) | void _vScrollBar_Scroll(object sender, ScrollEventArgs e)
method _vScrollBar_ValueChanged (line 305) | void _vScrollBar_ValueChanged(object sender, EventArgs e)
method _scrollTimer_Tick (line 329) | void _scrollTimer_Tick(object sender, EventArgs e)
method ContainerExtendMember (line 351) | internal bool ContainerExtendMember(string member)
method GetExtendMember (line 356) | internal string GetExtendMember(string member)
method GetItemText (line 361) | internal string GetItemText(object itemValue)
method GetItemText (line 366) | internal string GetItemText(object itemValue, string propertyName)
method OnItemsRemoved (line 371) | internal void OnItemsRemoved(List<ShengListViewItem> items)
method Dispose (line 376) | internal void Dispose()
method Render (line 407) | public void Render(Graphics graphics)
method RenderItem (line 416) | public void RenderItem(Graphics graphics, ShengListViewItem item)
method Update (line 426) | public void Update()
method IsItemVisible (line 442) | public ShengListViewItemVisibility IsItemVisible(ShengListViewItem item)
method GetItemBounds (line 465) | public Rectangle GetItemBounds(ShengListViewItem item)
method GetItemBounds (line 472) | public Rectangle GetItemBounds(int index)
method GetItems (line 491) | public List<ShengListViewItem> GetItems()
method GetVisibleItems (line 500) | public List<ShengListViewItem> GetVisibleItems()
method HitTest (line 512) | public ShengListViewHitInfo HitTest(Point point)
method MouseDown (line 580) | public void MouseDown(MouseEventArgs e)
method MouseUp (line 733) | public void MouseUp(MouseEventArgs e)
method MouseMove (line 744) | public void MouseMove(MouseEventArgs e)
method OnMouseWheel (line 801) | public void OnMouseWheel(MouseEventArgs e)
method OnKeyDown (line 815) | public void OnKeyDown(KeyEventArgs e)
method OnKeyUp (line 884) | public void OnKeyUp(KeyEventArgs e)
method Refresh (line 893) | private void Refresh()
method CalculateGrid (line 902) | private void CalculateGrid()
method CalculateVisibleItemsRange (line 915) | private void CalculateVisibleItemsRange()
method UpdateScrollBars (line 951) | private void UpdateScrollBars()
method CreateSelectionRectangle (line 990) | private Rectangle CreateSelectionRectangle()
method SelectItemsByRectangle (line 1024) | private void SelectItemsByRectangle(Rectangle rect)
method ApplyNavKey (line 1100) | private int ApplyNavKey(int index, Keys key)
method EnsureVisible (line 1133) | public void EnsureVisible(int itemIndex)
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewRenderer.cs
class ShengListViewRenderer (line 15) | public class ShengListViewRenderer
method ShengListViewRenderer (line 42) | public ShengListViewRenderer(ShengListViewLayoutManager layoutManager)
method Render (line 53) | public void Render(Graphics graphics)
method RenderItem (line 69) | public void RenderItem(Graphics g, ShengListViewItem item)
method Dispose (line 84) | internal void Dispose()
method OnItemsRemoved (line 93) | internal virtual void OnItemsRemoved(List<ShengListViewItem> items)
method DrawBackground (line 105) | internal virtual void DrawBackground(Graphics g, Rectangle bounds)
method DrawForeground (line 116) | internal virtual void DrawForeground(Graphics g)
method DrawSelectionRectangle (line 140) | internal virtual void DrawSelectionRectangle(Graphics g, Rectangle sel...
method DrawItemBorder (line 158) | internal virtual void DrawItemBorder(Graphics g, Rectangle bounds, She...
method DrawItem (line 181) | internal virtual void DrawItem(Graphics g, ShengListViewItem item)
method DrawItemBackground (line 240) | internal virtual void DrawItemBackground(Graphics g, Rectangle bounds)
method DrawItemContent (line 255) | internal virtual void DrawItemContent(Graphics g, Rectangle bounds, Sh...
method RenderBackground (line 272) | private void RenderBackground(Graphics g)
method RenderItems (line 285) | private void RenderItems(Graphics g)
method RenderSelectionRectangle (line 309) | private void RenderSelectionRectangle(Graphics g)
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewStandardLayoutManager.cs
class ShengListViewStandardLayoutManager (line 8) | class ShengListViewStandardLayoutManager : ShengListViewLayoutManager
method ShengListViewStandardLayoutManager (line 10) | public ShengListViewStandardLayoutManager(ShengListView imageListView)
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewStandardRenderer.cs
class ShengListViewStandardRenderer (line 12) | class ShengListViewStandardRenderer : ShengListViewRenderer
method ShengListViewStandardRenderer (line 31) | public ShengListViewStandardRenderer(ShengListViewLayoutManager layout...
method DrawForeground (line 44) | internal override void DrawForeground(Graphics g)
method DrawItemContent (line 49) | internal override void DrawItemContent(Graphics g, Rectangle bounds, S...
FILE: Sheng.Winform.Controls/ShengListView/Layout/ShengListViewTheme.cs
class ShengListViewTheme (line 10) | public class ShengListViewTheme
FILE: Sheng.Winform.Controls/ShengListView/ShengListView.cs
class ShengListView (line 15) | public class ShengListView : Control
method ShengListView (line 230) | public ShengListView()
method OnSelectedItemChanged (line 270) | internal void OnSelectedItemChanged()
method OnItemDoubleClick (line 282) | internal void OnItemDoubleClick(ShengListViewItem item)
method OnItemsRemoved (line 290) | internal void OnItemsRemoved(List<ShengListViewItem> items)
method NeedPaint (line 303) | internal void NeedPaint()
method RenderItem (line 308) | internal void RenderItem(ShengListViewItem item)
method GetItemPropertyValue (line 316) | internal object GetItemPropertyValue(object itemValue, string property...
method GetItemText (line 328) | internal string GetItemText(object itemValue)
method GetItemText (line 353) | internal string GetItemText(object itemValue, string propertyName)
method GetSelectedItems (line 368) | internal List<ShengListViewItem> GetSelectedItems()
method AddExtendMember (line 385) | public void AddExtendMember(IShengListViewExtendMember member)
method SetExtendMember (line 401) | public void SetExtendMember(string member, string propertyName)
method ContainerExtendMember (line 426) | public bool ContainerExtendMember(string member)
method GetExtendMember (line 437) | public string GetExtendMember(string member)
method ResumeLayout (line 451) | public new void ResumeLayout()
method ResumeLayout (line 464) | public new void ResumeLayout(bool refreshNow)
method SuspendLayout (line 484) | public new void SuspendLayout()
method Refresh (line 491) | public override void Refresh()
method GetSelectedValue (line 504) | public object GetSelectedValue()
method SetSelectedValue (line 518) | public void SetSelectedValue(object obj)
method GetSelectedValues (line 554) | public List<object> GetSelectedValues()
method ClearSelect (line 571) | public void ClearSelect()
method DataBind (line 589) | public void DataBind(IList list)
method Clear (line 606) | public void Clear()
method Hover (line 617) | private void Hover(Point location)
method SetLayoutManager (line 630) | private void SetLayoutManager(ShengListViewLayoutManager layoutManager)
method OnResize (line 666) | protected override void OnResize(EventArgs e)
method OnMouseDown (line 675) | protected override void OnMouseDown(MouseEventArgs e)
method OnMouseUp (line 694) | protected override void OnMouseUp(MouseEventArgs e)
method OnMouseMove (line 717) | protected override void OnMouseMove(MouseEventArgs e)
method OnMouseWheel (line 737) | protected override void OnMouseWheel(MouseEventArgs e)
method OnMouseDoubleClick (line 751) | protected override void OnMouseDoubleClick(MouseEventArgs e)
method OnMouseHover (line 766) | protected override void OnMouseHover(EventArgs e)
method IsInputKey (line 778) | protected override bool IsInputKey(Keys keyData)
method OnKeyDown (line 789) | protected override void OnKeyDown(KeyEventArgs e)
method OnKeyUp (line 799) | protected override void OnKeyUp(KeyEventArgs e)
method OnGotFocus (line 813) | protected override void OnGotFocus(EventArgs e)
method OnLostFocus (line 819) | protected override void OnLostFocus(EventArgs e)
method OnPaint (line 829) | protected override void OnPaint(PaintEventArgs e)
method Dispose (line 845) | protected override void Dispose(bool disposing)
FILE: Sheng.Winform.Controls/ShengListView/ShengListViewColor.cs
class ShengListViewColor (line 12) | public class ShengListViewColor
method ShengListViewColor (line 409) | public ShengListViewColor()
method ShengListViewColor (line 468) | public ShengListViewColor(string definition)
method CopyFrom (line 518) | public void CopyFrom(ShengListViewColor source)
method GetDefaultTheme (line 549) | private static ShengListViewColor GetDefaultTheme()
method GetMandarinTheme (line 556) | private static ShengListViewColor GetMandarinTheme()
method GetNoirTheme (line 615) | private static ShengListViewColor GetNoirTheme()
method Equals (line 682) | public override bool Equals(object obj)
method GetHashCode (line 712) | public override int GetHashCode()
method ToString (line 723) | public override string ToString()
FILE: Sheng.Winform.Controls/ShengListView/ShengListViewHitInfo.cs
class ShengListViewHitInfo (line 11) | public class ShengListViewHitInfo
method ShengListViewHitInfo (line 23) | public ShengListViewHitInfo(int itemIndex,bool itemHit)
FILE: Sheng.Winform.Controls/ShengListView/ShengListViewItem.cs
class ShengListViewItem (line 9) | public class ShengListViewItem
method ShengListViewItem (line 119) | public ShengListViewItem(object value)
method Render (line 128) | private void Render()
FILE: Sheng.Winform.Controls/ShengListView/ShengListViewItemCollection.cs
class ShengListViewItemCollection (line 9) | public class ShengListViewItemCollection : CollectionBase, IList<ShengLi...
method ShengListViewItemCollection (line 13) | public ShengListViewItemCollection()
method ShengListViewItemCollection (line 17) | public ShengListViewItemCollection(ShengListViewItemCollection value)
method ShengListViewItemCollection (line 22) | public ShengListViewItemCollection(ShengListViewItem[] value)
method Add (line 39) | public int Add(ShengListViewItem value)
method AddRange (line 47) | public void AddRange(ShengListViewItem[] value)
method AddRange (line 59) | public void AddRange(ShengListViewItemCollection value)
method Contains (line 71) | public bool Contains(ShengListViewItem value)
method CopyTo (line 76) | public void CopyTo(ShengListViewItem[] array, int index)
method IndexOf (line 81) | public int IndexOf(ShengListViewItem value)
method Insert (line 86) | public void Insert(int index, ShengListViewItem value)
method Remove (line 92) | public void Remove(ShengListViewItem value)
method Remove (line 101) | public void Remove(List<ShengListViewItem> items)
method OnClear (line 116) | protected override void OnClear()
method ToArray (line 134) | public ShengListViewItem[] ToArray()
method ToList (line 139) | public List<ShengListViewItem> ToList()
method PreTo (line 156) | public void PreTo(ShengListViewItem targetEvent, ShengListViewItem ref...
method NextTo (line 191) | public void NextTo(ShengListViewItem targetEvent, ShengListViewItem re...
class ImageListViewItemEnumerator (line 219) | [Serializable]
method ImageListViewItemEnumerator (line 226) | public ImageListViewItemEnumerator(ShengListViewItemCollection mappi...
method MoveNext (line 248) | public bool MoveNext()
method MoveNext (line 253) | bool IEnumerator.MoveNext()
method Reset (line 258) | public void Reset()
method Reset (line 263) | void IEnumerator.Reset()
method Dispose (line 270) | public void Dispose()
method Add (line 282) | void ICollection<ShengListViewItem>.Add(ShengListViewItem item)
method Remove (line 292) | bool ICollection<ShengListViewItem>.Remove(ShengListViewItem item)
method GetEnumerator (line 302) | public new IEnumerator<ShengListViewItem> GetEnumerator()
FILE: Sheng.Winform.Controls/ShengLoadingCircle.cs
class ShengLoadingCircle (line 13) | public partial class ShengLoadingCircle : Control
type StylePresets (line 44) | public enum StylePresets
method ShengLoadingCircle (line 272) | public ShengLoadingCircle()
method LoadingCircle_Resize (line 293) | void LoadingCircle_Resize(object sender, EventArgs e)
method aTimer_Tick (line 298) | void aTimer_Tick(object sender, EventArgs e)
method OnPaint (line 304) | protected override void OnPaint(PaintEventArgs e)
method Darken (line 329) | private Color Darken(Color _objColor, int _intPercent)
method GenerateColorsPallet (line 337) | private void GenerateColorsPallet()
method GenerateColorsPallet (line 342) | private Color[] GenerateColorsPallet(Color _objColor, bool _blnShadeCo...
method GetControlCenterPoint (line 373) | private void GetControlCenterPoint()
method GetControlCenterPoint (line 378) | private PointF GetControlCenterPoint(Control _objControl)
method DrawLine (line 383) | private void DrawLine(Graphics _objGraphics, PointF _objPointOne, Poin...
method GetCoordinate (line 394) | private PointF GetCoordinate(PointF _objCircleCenter, int _intRadius, ...
method GetSpokesAngles (line 402) | private void GetSpokesAngles()
method GetSpokesAngles (line 407) | private double[] GetSpokesAngles(int _intNumberSpoke)
method ActiveTimer (line 418) | private void ActiveTimer()
method GetPreferredSize (line 436) | public override Size GetPreferredSize(Size proposedSize)
method SetCircleAppearance (line 451) | public void SetCircleAppearance(int numberSpoke, int spokeThickness,
FILE: Sheng.Winform.Controls/ShengNavigationTreeView/ShengNavigationTreeNode.cs
class ShengNavigationTreeNode (line 10) | public class ShengNavigationTreeNode : TreeNode
method ShengNavigationTreeNode (line 14) | public ShengNavigationTreeNode():base()
method ShengNavigationTreeNode (line 19) | public ShengNavigationTreeNode(string name)
method ShengNavigationTreeNode (line 24) | public ShengNavigationTreeNode(string name,Control panel)
method AddNode (line 54) | public ShengNavigationTreeNode AddNode(string name)
method AddNode (line 65) | public ShengNavigationTreeNode AddNode(string path, string name)
method AddNode (line 77) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method AddNode (line 82) | public ShengNavigationTreeNode AddNode(string name, Control panel)
method AddNode (line 87) | public ShengNavigationTreeNode AddNode(string name, string text, Contr...
method AddNode (line 100) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method AddNode (line 105) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method GetNode (line 153) | public ShengNavigationTreeNode GetNode(string path)
method GetNode (line 158) | public ShengNavigationTreeNode GetNode(string path, TreeNodeCollection...
FILE: Sheng.Winform.Controls/ShengNavigationTreeView/ShengNavigationTreeView.cs
class ShengNavigationTreeView (line 10) | public class ShengNavigationTreeView : TreeView
method ShengNavigationTreeView (line 78) | public ShengNavigationTreeView()
method AddNode (line 89) | public ShengNavigationTreeNode AddNode(string name)
method AddNode (line 100) | public ShengNavigationTreeNode AddNode(string path, string name)
method AddNode (line 112) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method AddNode (line 117) | public ShengNavigationTreeNode AddNode(string name, Control panel)
method AddNode (line 122) | public ShengNavigationTreeNode AddNode(string name, string text, Contr...
method AddNode (line 135) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method AddNode (line 140) | public ShengNavigationTreeNode AddNode(string path, string name, strin...
method GetNode (line 188) | public ShengNavigationTreeNode GetNode(string path)
method GetNode (line 193) | public ShengNavigationTreeNode GetNode(string path, TreeNodeCollection...
method SetPanel (line 235) | public ShengNavigationTreeNode SetPanel(string path, Control panel)
method OnAfterSelect (line 268) | protected override void OnAfterSelect(TreeViewEventArgs e)
FILE: Sheng.Winform.Controls/ShengPad.cs
class ShengPad (line 16) | [Designer(typeof(ShengPadDesigner))]
method ShengPad (line 375) | public ShengPad()
method OnCreateControl (line 398) | protected override void OnCreateControl()
method EnableDoubleBuffering (line 438) | private void EnableDoubleBuffering()
method InitPen (line 451) | private void InitPen()
method InitBrush (line 462) | private void InitBrush()
method OnPaint (line 474) | protected override void OnPaint(PaintEventArgs e)
method OnResize (line 483) | protected override void OnResize(EventArgs e)
class ShengPadDesigner (line 500) | internal class ShengPadDesigner : ControlDesigner
method Initialize (line 504) | public override void Initialize(IComponent component)
class TitlePanel (line 516) | class TitlePanel : Panel
method TitlePanel (line 526) | public TitlePanel(ShengPad pad)
method OnPaint (line 539) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengPaginationDataGridView.Designer.cs
class ShengPaginationDataGridView (line 3) | partial class ShengPaginationDataGridView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengPaginationDataGridView.cs
class ShengPaginationDataGridView (line 13) | public partial class ShengPaginationDataGridView : UserControl
type EnumNavigationLocation (line 18) | public enum EnumNavigationLocation
method ShengPaginationDataGridView (line 362) | public ShengPaginationDataGridView()
method DataBind (line 373) | public void DataBind()
method RefreshData (line 389) | public void RefreshData()
method DataBinding (line 398) | private void DataBinding()
method ResetNavigation (line 443) | protected void ResetNavigation()
method SetPageLink (line 460) | private void SetPageLink()
method linkLabelPageHome_LinkClicked (line 492) | private void linkLabelPageHome_LinkClicked(object sender, LinkLabelLin...
method linkLabelPageEnd_LinkClicked (line 498) | private void linkLabelPageEnd_LinkClicked(object sender, LinkLabelLink...
method linkLabelPageUp_LinkClicked (line 504) | private void linkLabelPageUp_LinkClicked(object sender, LinkLabelLinkC...
method linkLabelPageDown_LinkClicked (line 510) | private void linkLabelPageDown_LinkClicked(object sender, LinkLabelLin...
method txtPageCurrent_KeyPress (line 516) | private void txtPageCurrent_KeyPress(object sender, KeyPressEventArgs e)
method GetDataSet (line 547) | protected virtual void GetDataSet()
method GetRowCount (line 552) | protected virtual int GetRowCount()
FILE: Sheng.Winform.Controls/ShengPanel.cs
class ShengPanel (line 13) | public class ShengPanel : Panel, IShengValidate
method ShengPanel (line 234) | public ShengPanel()
method EnableDoubleBuffering (line 250) | private void EnableDoubleBuffering()
method InitPen (line 263) | private void InitPen()
method InitBrush (line 274) | private void InitBrush()
method OnPaint (line 290) | protected override void OnPaint(PaintEventArgs e)
method OnResize (line 306) | protected override void OnResize(EventArgs e)
method SEValidate (line 367) | public bool SEValidate(out string validateMsg)
FILE: Sheng.Winform.Controls/ShengSimpleCheckBox.cs
class ShengSimpleCheckBox (line 12) | public class ShengSimpleCheckBox:Control
method ShengSimpleCheckBox (line 29) | public ShengSimpleCheckBox()
method OnPaint (line 39) | protected override void OnPaint(PaintEventArgs e)
method OnClick (line 64) | protected override void OnClick(EventArgs e)
method OnEnter (line 75) | protected override void OnEnter(EventArgs e)
method OnLeave (line 81) | protected override void OnLeave(EventArgs e)
FILE: Sheng.Winform.Controls/ShengTabControl.cs
class ShengTabControl (line 12) | public class ShengTabControl : TabControl, IShengValidate
method ShengTabControl (line 16) | public ShengTabControl()
method SEValidate (line 66) | public bool SEValidate(out string validateMsg)
FILE: Sheng.Winform.Controls/ShengTextBox.cs
class ShengTextBox (line 13) | public class ShengTextBox : TextBox, IShengValidate
method ShengTextBox (line 17) | public ShengTextBox()
method WndProc (line 150) | protected override void WndProc(ref Message m)
method SEValidate (line 213) | public bool SEValidate(out string msg)
FILE: Sheng.Winform.Controls/ShengThumbnailImageListView.cs
class ShengThumbnailImageListView (line 13) | public class ShengThumbnailImageListView : ListView
method ShengThumbnailImageListView (line 88) | public ShengThumbnailImageListView()
method SetThumbnail (line 107) | private void SetThumbnail(Image image)
method GetThumbNail (line 129) | public Image GetThumbNail(string fileName)
method AddDefaultThumb (line 165) | private void AddDefaultThumb()
method LoadItems (line 184) | public void LoadItems(string[] fileList)
method ReLoadItems (line 217) | private void ReLoadItems()
method bwLoadImages_DoWork (line 235) | private void bwLoadImages_DoWork(object sender, DoWorkEventArgs e)
method myWorker_RunWorkerCompleted (line 245) | void myWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEven...
method Add (line 273) | public void Add(string imageFile)
FILE: Sheng.Winform.Controls/ShengToolStrip.cs
type ShengToolStripImageSize (line 14) | public enum ShengToolStripImageSize
type IShengToolStripImageProvider (line 43) | public interface IShengToolStripImageProvider
method IsImageSupported (line 52) | bool IsImageSupported(ShengToolStripImageSize size);
method GetImage (line 60) | Image GetImage(ShengToolStripImageSize size);
type IShengToolStripMultipleImageProvider (line 70) | public interface IShengToolStripMultipleImageProvider
method IsImageSupported (line 80) | bool IsImageSupported(object key, ShengToolStripImageSize size);
method GetImage (line 89) | Image GetImage(object key, ShengToolStripImageSize size);
class ShengToolStripImageProviderCollection (line 108) | public class ShengToolStripImageProviderCollection : Dictionary<object, ...
method ShengToolStripImageProviderCollection (line 112) | public ShengToolStripImageProviderCollection()
method ShengToolStripImageProviderCollection (line 117) | public ShengToolStripImageProviderCollection(int capacity)
method ShengToolStripImageProviderCollection (line 122) | public ShengToolStripImageProviderCollection(ShengToolStripImageProvid...
method ShengToolStripImageProviderCollection (line 127) | public ShengToolStripImageProviderCollection(SerializationInfo info, S...
method IsImageSupported (line 142) | public bool IsImageSupported(object key, ShengToolStripImageSize size)
method GetImage (line 156) | public Image GetImage(object key, ShengToolStripImageSize size)
class ShengToolStripIconImageProvider (line 177) | public class ShengToolStripIconImageProvider : IShengToolStripImageProvider
method ShengToolStripIconImageProvider (line 181) | public ShengToolStripIconImageProvider(Icon icon)
method ShengToolStripIconImageProvider (line 186) | public ShengToolStripIconImageProvider(System.IO.Stream stream)
method ShengToolStripIconImageProvider (line 191) | public ShengToolStripIconImageProvider(string fileName)
method ShengToolStripIconImageProvider (line 196) | public ShengToolStripIconImageProvider(Type type, string resource)
method GetIconSize (line 211) | public static Size GetIconSize(ShengToolStripImageSize size)
method OnIconChanged (line 241) | public virtual void OnIconChanged(ShengToolStripOldNewEventArgs<Icon> e)
method IsImageSupported (line 256) | public bool IsImageSupported(ShengToolStripImageSize size)
method GetImage (line 267) | public Image GetImage(ShengToolStripImageSize size)
class ShengToolStripImageSizeChangingEventArgs (line 307) | public class ShengToolStripImageSizeChangingEventArgs : CancelEventArgs
method ShengToolStripImageSizeChangingEventArgs (line 311) | public ShengToolStripImageSizeChangingEventArgs(ShengToolStripImageSiz...
class ShengToolStrip (line 356) | public class ShengToolStrip : ToolStrip, IShengToolStripMultipleImagePro...
method ShengToolStrip (line 360) | public ShengToolStrip()
method OnImageSizeChanging (line 389) | protected virtual bool OnImageSizeChanging(ShengToolStripImageSizeChan...
method OnImageSizeChanged (line 408) | protected virtual void OnImageSizeChanged(ShengToolStripOldNewEventArg...
method OnUseUnknownImageSizeIconChanged (line 419) | protected virtual void OnUseUnknownImageSizeIconChanged(EventArgs e)
method IsImageSupported (line 441) | public virtual bool IsImageSupported(object key, ShengToolStripImageSi...
method GetImage (line 453) | public virtual Image GetImage(object key, ShengToolStripImageSize size)
method IsImageSupported (line 475) | public virtual bool IsImageSupported(ShengToolStripImageSize size)
method GetImage (line 491) | public virtual Image GetImage(ShengToolStripImageSize size)
method BeginUpdateImages (line 516) | public virtual void BeginUpdateImages()
method EndUpdateImages (line 526) | public virtual void EndUpdateImages(bool refresh)
method EndUpdateImages (line 549) | public void EndUpdateImages()
method AssignImage (line 560) | public bool AssignImage(ToolStripItem item, IShengToolStripImageProvid...
method AssignImage (line 582) | public bool AssignImage(ToolStripItem item, Icon icon)
method RemoveImage (line 592) | public bool RemoveImage(ToolStripItem item)
method RemoveUnusedImages (line 609) | public int RemoveUnusedImages()
method ContainsImage (line 634) | public bool ContainsImage(ToolStripItem item)
method RefreshItemImages (line 642) | protected void RefreshItemImages()
class ShengToolStripOldNewEventArgs (line 794) | public class ShengToolStripOldNewEventArgs<T> : EventArgs
method ShengToolStripOldNewEventArgs (line 796) | public ShengToolStripOldNewEventArgs(T oldValue, T newValue)
FILE: Sheng.Winform.Controls/ShengToolStripMenuItem.cs
class ShengToolStripMenuItem (line 14) | public class ShengToolStripMenuItem : ToolStripMenuItem
method ShengToolStripMenuItem (line 19) | public ShengToolStripMenuItem()
method ShengToolStripMenuItem (line 24) | public ShengToolStripMenuItem(string strName)
method OnPaint (line 34) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengToolStripSeparator.cs
class ShengToolStripSeparator (line 13) | public class ShengToolStripSeparator : ToolStripSeparator
method ShengToolStripSeparator (line 28) | public ShengToolStripSeparator()
method OnPaint (line 32) | protected override void OnPaint(PaintEventArgs e)
FILE: Sheng.Winform.Controls/ShengTreeView.cs
class ShengTreeView (line 15) | public class ShengTreeView : TreeView
method OnDragDropNodeAction (line 97) | protected void OnDragDropNodeAction(TreeNode dragNode, TreeNode dropNode)
method ShengTreeView (line 110) | public ShengTreeView()
method DrawOnItemDrag (line 133) | protected bool DrawOnItemDrag()
method DrawEndDrag (line 183) | protected void DrawEndDrag()
method DrawOnDragDrop (line 192) | protected void DrawOnDragDrop()
method CanDrag (line 209) | protected virtual bool CanDrag(TreeNode treeNode)
method CanDrop (line 224) | protected virtual bool CanDrop(TreeNode dragNode, TreeNode dropNode)
method ProcessDragDrop (line 240) | protected virtual void ProcessDragDrop(TreeNode dragNode, TreeNode dro...
method OnItemDrag (line 262) | protected override void OnItemDrag(ItemDragEventArgs e)
method OnDragOver (line 291) | protected override void OnDragOver(DragEventArgs e)
method OnDragDrop (line 333) | protected override void OnDragDrop(DragEventArgs e)
method OnDragEnter (line 362) | protected override void OnDragEnter(DragEventArgs e)
method OnDragLeave (line 377) | protected override void OnDragLeave(EventArgs e)
method OnGiveFeedback (line 392) | protected override void OnGiveFeedback(GiveFeedbackEventArgs e)
method timer_Tick (line 405) | private void timer_Tick(object sender, EventArgs e)
method OnMouseClick (line 450) | protected override void OnMouseClick(MouseEventArgs e)
method SwapNode (line 471) | protected void SwapNode(TreeNode node1, TreeNode node2)
method MoveNode (line 507) | public void MoveNode(TreeNode dragNode, TreeNode dropNode)
class DragDropNodeActionEventArgs (line 531) | public class DragDropNodeActionEventArgs : EventArgs
method DragDropNodeActionEventArgs (line 545) | public DragDropNodeActionEventArgs(TreeNode dragNode, TreeNode dropN...
FILE: Sheng.Winform.Controls/ShengUserControl.Designer.cs
class ShengUserControl (line 3) | partial class ShengUserControl
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/ShengUserControl.cs
class ShengUserControl (line 14) | public partial class ShengUserControl : UserControl, IShengValidate
method ShengUserControl (line 18) | public ShengUserControl()
method DoValidate (line 34) | public virtual bool DoValidate()
method SEValidate (line 93) | public virtual bool SEValidate(out string validateMsg)
FILE: Sheng.Winform.Controls/ShengValidateHelper.cs
class ShengValidateHelper (line 13) | public static class ShengValidateHelper
method ValidateContainerControl (line 22) | public static bool ValidateContainerControl(Control control, out strin...
method ValidateControl (line 51) | public static bool ValidateControl(Control ctrl, out string validateMsg)
method WipeSpilthSpace (line 94) | public static void WipeSpilthSpace(ref string validateMsg)
FILE: Sheng.Winform.Controls/WinAPI.cs
class WinAPI (line 9) | class WinAPI
method GetWindow (line 11) | [DllImport("user32.dll")]
method SetLayeredWindowAttributes (line 14) | [DllImport("user32.dll")]
method SetClassLong (line 21) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
method GetClassLong (line 23) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
method SetWindowLong (line 25) | [DllImport("user32.dll")]
method GetWindowLong (line 27) | [DllImport("user32.dll")]
type WindowStyle (line 32) | public enum WindowStyle : int
type ExWindowStyle (line 37) | public enum ExWindowStyle : uint
FILE: Sheng.Winform.Controls/Wizard/IWizardView.cs
type IWizardView (line 8) | public interface IWizardView
method NextPanel (line 33) | void NextPanel();
method SetData (line 41) | void SetData(string name, object data);
method GetData (line 48) | object GetData(string name);
method SetOptionInstance (line 55) | void SetOptionInstance<T>(T option) where T : class;
method GetOptionInstance (line 62) | T GetOptionInstance<T>() where T : class;
FILE: Sheng.Winform.Controls/Wizard/WizardPanelBase.Designer.cs
class WizardPanelBase (line 3) | partial class WizardPanelBase
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/Wizard/WizardPanelBase.cs
class WizardPanelBase (line 12) | [ToolboxItem(false)]
method WizardPanelBase (line 54) | public WizardPanelBase()
method Submit (line 67) | public virtual void Submit()
method ProcessButton (line 76) | public virtual void ProcessButton()
method Run (line 85) | public virtual void Run()
FILE: Sheng.Winform.Controls/Wizard/WizardView.Designer.cs
class WizardView (line 3) | partial class WizardView
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Sheng.Winform.Controls/Wizard/WizardView.cs
class WizardView (line 15) | public sealed partial class WizardView : ShengForm, IWizardView
method WizardView (line 120) | public WizardView()
method WizardView_Load (line 131) | private void WizardView_Load(object sender, EventArgs e)
method ShowPanel (line 146) | private void ShowPanel()
method Submit (line 157) | private void Submit()
method Back (line 170) | private void Back()
method AddStepPanel (line 193) | public void AddStepPanel(WizardPanelBase panel)
method NextPanel (line 205) | public void NextPanel()
method SetData (line 211) | public void SetData(string name, object data)
method GetData (line 229) | public object GetData(string name)
method SetOptionInstance (line 246) | public void SetOptionInstance<T>(T option) where T : class
method GetOptionInstance (line 257) | public T GetOptionInstance<T>() where T : class
method btnNext_Click (line 278) | private void btnNext_Click(object sender, EventArgs e)
method btnBack_Click (line 283) | private void btnBack_Click(object sender, EventArgs e)
method btnFinish_Click (line 288) | private void btnFinish_Click(object sender, EventArgs e)
method btnNext_EnabledChanged (line 294) | private void btnNext_EnabledChanged(object sender, EventArgs e)
Condensed preview — 234 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,775K chars).
[
{
"path": ".gitignore",
"chars": 12,
"preview": "bin\nobj\n.vs\n"
},
{
"path": "LICENSE",
"chars": 1069,
"preview": "MIT License\n\nCopyright (c) 2008 曹旭升(sheng.c)\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
},
{
"path": "README.md",
"chars": 2605,
"preview": "# Sheng.Winform.Controls\n\n🙋♂️ https://me.shendesk.com\n📨 cao.silhouette@gmail.com\n\nPlease visit the original code reposi"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/BrowserPane.cs",
"chars": 2128,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\n\nname"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/DefaultHtmlViewSchemeExtension.cs",
"chars": 673,
"preview": "using System;\nusing System.Collections;\nusing System.Windows.Forms;\n\nnamespace Sheng.Winform.Controls\n{\n public clas"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/ExtendedWebBrowser.cs",
"chars": 3073,
"preview": "using System;\nusing System.ComponentModel;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\n\nnamespace"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPane.cs",
"chars": 16829,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Drawing;\nusing System.Windows.Forms;\n\nnamespace Sheng.Winf"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/HtmlViewPaneEvents.cs",
"chars": 947,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/BrowserDisplayBinding/IHtmlViewSchemeExtension.cs",
"chars": 468,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\n\nname"
},
{
"path": "Sheng.Winform.Controls/DragHelper.cs",
"chars": 1306,
"preview": "//用在SETreeView 的拖放操作时\n//http://www.codeproject.com/KB/tree/TreeViewDragDrop.aspx\n\nusing System;\nusing System.Collection"
},
{
"path": "Sheng.Winform.Controls/IShengForm.cs",
"chars": 189,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/IShengValidate.cs",
"chars": 811,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/IconResource.Designer.cs",
"chars": 5056,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// 此代码由工具生成。"
},
{
"path": "Sheng.Winform.Controls/IconResource.resx",
"chars": 7722,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prim"
},
{
"path": "Sheng.Winform.Controls/License/SEControlLicense.cs",
"chars": 710,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.ComponentModel;\n\nnam"
},
{
"path": "Sheng.Winform.Controls/License/SEControlLicenseProvider.cs",
"chars": 2248,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.ComponentModel;\nusin"
},
{
"path": "Sheng.Winform.Controls/License/TextFile1.txt",
"chars": 82,
"preview": "在注册表的\nLocalMachine:SOFTWARE\\Sheng.SIMBE\\SEControl\n下,以一个 License 属性保存 sheng ,则允许使用"
},
{
"path": "Sheng.Winform.Controls/LocalizedDescription.cs",
"chars": 1303,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.ComponentModel;\nusin"
},
{
"path": "Sheng.Winform.Controls/PopupControl/GripBounds.cs",
"chars": 2826,
"preview": "using System;\nusing System.Drawing;\n\nnamespace Sheng.Winform.Controls.PopupControl\n{\n internal struct GripBounds\n "
},
{
"path": "Sheng.Winform.Controls/PopupControl/NativeMethods.cs",
"chars": 3630,
"preview": "using System;\nusing System.Drawing;\nusing System.Runtime.InteropServices;\nusing System.Windows.Forms;\nusing System.Secur"
},
{
"path": "Sheng.Winform.Controls/PopupControl/Popup.Designer.cs",
"chars": 1317,
"preview": "namespace Sheng.Winform.Controls.PopupControl\n{\n partial class Popup\n {\n /// <summary>\n /// Require"
},
{
"path": "Sheng.Winform.Controls/PopupControl/Popup.cs",
"chars": 23982,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/PopupControl/PopupAnimation.cs",
"chars": 1697,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls.PopupControl\n{\n "
},
{
"path": "Sheng.Winform.Controls/PopupControl/PopupComboBox.Designer.cs",
"chars": 1291,
"preview": "namespace Sheng.Winform.Controls.PopupControl\n{\n partial class PopupComboBox\n {\n /// <summary>\n ///"
},
{
"path": "Sheng.Winform.Controls/PopupControl/PopupComboBox.cs",
"chars": 7104,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.Designer.cs",
"chars": 1183,
"preview": "namespace Sheng.Winform.Controls.PopupControl\n{\n partial class PopupControlComboBoxBase\n {\n /// <summary>\n"
},
{
"path": "Sheng.Winform.Controls/PopupControl/PopupControlComboBoxBase.cs",
"chars": 4089,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/Properties/AssemblyInfo.cs",
"chars": 634,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// 有关程序集的常规信息通过下"
},
{
"path": "Sheng.Winform.Controls/Properties/Resources.Designer.cs",
"chars": 5326,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// 此代码由工具生成。"
},
{
"path": "Sheng.Winform.Controls/Properties/Resources.resx",
"chars": 7755,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prim"
},
{
"path": "Sheng.Winform.Controls/Renderer/Office2010Renderer.cs",
"chars": 4555,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/Renderer/SEToolStripProfessionalRenderer_Gary.cs",
"chars": 1906,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/Renderer/SEToolStripRender.cs",
"chars": 105640,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Collections;\nusing System.ComponentModel;\nusing System.Dra"
},
{
"path": "Sheng.Winform.Controls/Renderer/ToolStripRenders.cs",
"chars": 9461,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/SEControl.csproj.pdsync",
"chars": 63,
"preview": "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n<ModelFileSync />"
},
{
"path": "Sheng.Winform.Controls/SEFormShadow.Designer.cs",
"chars": 1156,
"preview": "namespace Sheng.SIMBE.SEControl\n{\n partial class SEFormShadow\n {\n /// <summary>\n /// Required desig"
},
{
"path": "Sheng.Winform.Controls/SEFormShadow.cs",
"chars": 1400,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/SEImageListView.cs",
"chars": 247638,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Windows.Forms;\nusing System.ComponentModel;\nusing System.D"
},
{
"path": "Sheng.Winform.Controls/Sheng.Winform.Controls.csproj",
"chars": 20194,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/m"
},
{
"path": "Sheng.Winform.Controls/Sheng.Winform.Controls.csproj.user",
"chars": 627,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n <Prope"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/IShengAddressNode.cs",
"chars": 2066,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBar.Designer.cs",
"chars": 2235,
"preview": "namespace Sheng.Winform.Controls.SEAdressBar\n{\n partial class ShengAddressBar\n {\n /// <summary> \n /"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBar.cs",
"chars": 2300,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBar.resx",
"chars": 5895,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarButton.cs",
"chars": 666,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDown.cs",
"chars": 382,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDownButton.cs",
"chars": 503,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarDropDownItem.cs",
"chars": 649,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengAddressBarStrip.cs",
"chars": 26953,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdressBar/ShengFileSystemNode.cs",
"chars": 10852,
"preview": "using System;\nusing System.Drawing;\nusing System.IO;\nusing System.Runtime.InteropServices;\nusing System.Text.RegularExp"
},
{
"path": "Sheng.Winform.Controls/ShengAdvComboBox.cs",
"chars": 8093,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAdvComboBoxDropdownBase.Designer.cs",
"chars": 1228,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengAdvComboBoxDropdownBase\n {\n /// <summary> \n "
},
{
"path": "Sheng.Winform.Controls/ShengAdvComboBoxDropdownBase.cs",
"chars": 771,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengAdvComboBoxDropdownBase.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengAdvLabel.cs",
"chars": 11657,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengAreoMainMenuStrip.cs",
"chars": 7262,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengColorChooseComboBox.Designer.cs",
"chars": 956,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengColorChooseComboBox\n {\n /// <summary> \n /// "
},
{
"path": "Sheng.Winform.Controls/ShengColorChooseComboBox.cs",
"chars": 11330,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengColorChooseComboBoxDropDown.Designer.cs",
"chars": 17110,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengColorChooseComboBoxDropDown\n {\n /// <summary> \n "
},
{
"path": "Sheng.Winform.Controls/ShengColorChooseComboBoxDropDown.cs",
"chars": 12155,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengColorChooseComboBoxDropDown.resx",
"chars": 7037,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengComboBox.cs",
"chars": 3507,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.ComponentMod"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelector.Designer.cs",
"chars": 1262,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengComboSelector\n {\n /// <summary> \n /// 必需的设计器"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelector.cs",
"chars": 26556,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelector.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItem.cs",
"chars": 7169,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemCollection.cs",
"chars": 3534,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Collections;\n\nnamesp"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemContainer.Designer.cs",
"chars": 2419,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengComboSelectorItemContainer\n {\n /// <summary> \n "
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemContainer.cs",
"chars": 22047,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector/ShengComboSelectorItemContainer.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector2/Enums.cs",
"chars": 572,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector2/ShengComboSelector2.cs",
"chars": 22781,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengComboSelector2/ShengComboSelectorTheme.cs",
"chars": 6652,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/Renderer/IShengDataGridViewCellRenderer.cs",
"chars": 715,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewCheckBoxCellRenderer.cs",
"chars": 1549,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewImageCellRenderer.cs",
"chars": 1914,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewRenderer.cs",
"chars": 21607,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/Renderer/ShengDataGridViewRendererTheme.cs",
"chars": 6356,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/ShengDataGridView.cs",
"chars": 5077,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewCheckBoxColumn.cs",
"chars": 2625,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewImageBinderCell.cs",
"chars": 2474,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDataGridView/ShengDataGridViewImageBinderColumn.cs",
"chars": 2447,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengDatetimePicker.cs",
"chars": 1729,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.ComponentMod"
},
{
"path": "Sheng.Winform.Controls/ShengFlatButton.Designer.cs",
"chars": 1188,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengFlatButton\n {\n /// <summary> \n /// 必需的设计器变量。"
},
{
"path": "Sheng.Winform.Controls/ShengFlatButton.cs",
"chars": 6242,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengFlatButton.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengForm.Designer.cs",
"chars": 1218,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengForm\n {\n /// <summary>\n /// 必需的设计器变量。\n "
},
{
"path": "Sheng.Winform.Controls/ShengForm.cs",
"chars": 963,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nus"
},
{
"path": "Sheng.Winform.Controls/ShengForm.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengGroupBox.cs",
"chars": 1605,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Reflection;\n"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/Enums.cs",
"chars": 1049,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/Events.cs",
"chars": 808,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListView.cs",
"chars": 15747,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewCollection.cs",
"chars": 8117,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Collections;\n\nnamesp"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewColor.cs",
"chars": 33576,
"preview": "using System.ComponentModel;\nusing System.Drawing;\nusing System;\nusing System.Reflection;\nusing System.Collections.Gener"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewHitInfo.cs",
"chars": 607,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewItem.cs",
"chars": 4169,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewItemThumbnailsCache.cs",
"chars": 2330,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewLayoutManager.cs",
"chars": 39629,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Drawing;\r\nusing "
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewRenderer.cs",
"chars": 10910,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewStandardRenderer.cs",
"chars": 4340,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Sheng"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/ShengImageListViewTheme.cs",
"chars": 4440,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.ComponentModel;\nusin"
},
{
"path": "Sheng.Winform.Controls/ShengImageListView/Utility.cs",
"chars": 18571,
"preview": "using System;\nusing System.Drawing;\nusing System.IO;\nusing System.Drawing.Drawing2D;\nusing System.Text;\n\nnamespace Shen"
},
{
"path": "Sheng.Winform.Controls/ShengLine.cs",
"chars": 534,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Drawing;\nusi"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Enums.cs",
"chars": 1291,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Events.cs",
"chars": 1043,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/IShengListViewExtendMember.cs",
"chars": 240,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveLayoutManager.cs",
"chars": 515,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveMembers.cs",
"chars": 708,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewDescriptiveRenderer.cs",
"chars": 3707,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewLayoutManager.cs",
"chars": 40178,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewRenderer.cs",
"chars": 10843,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewStandardLayoutManager.cs",
"chars": 502,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewStandardRenderer.cs",
"chars": 2375,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengListView/Layout/ShengListViewTheme.cs",
"chars": 4629,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.ComponentModel;\nusin"
},
{
"path": "Sheng.Winform.Controls/ShengListView/ShengListView.cs",
"chars": 23213,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengListView/ShengListViewColor.cs",
"chars": 33411,
"preview": "using System.ComponentModel;\nusing System.Drawing;\nusing System;\nusing System.Reflection;\nusing System.Collections.Gener"
},
{
"path": "Sheng.Winform.Controls/ShengListView/ShengListViewHitInfo.cs",
"chars": 604,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/ShengListView/ShengListViewItem.cs",
"chars": 3027,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\n\nnamespace "
},
{
"path": "Sheng.Winform.Controls/ShengListView/ShengListViewItemCollection.cs",
"chars": 7847,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Collections;\n\nnamesp"
},
{
"path": "Sheng.Winform.Controls/ShengLoadingCircle.cs",
"chars": 14064,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengNavigationTreeView/ShengNavigationTreeNode.cs",
"chars": 5057,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengNavigationTreeView/ShengNavigationTreeView.cs",
"chars": 7326,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengPad.cs",
"chars": 15163,
"preview": "//如何让复合控件的子控件获得设计时支持 \n//http://www.cnblogs.com/feiyun0112/archive/2007/04/30/733230.html\n\nusing System;\nusing System.Co"
},
{
"path": "Sheng.Winform.Controls/ShengPaginationDataGridView.Designer.cs",
"chars": 10281,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengPaginationDataGridView\n {\n /// <summary> \n /"
},
{
"path": "Sheng.Winform.Controls/ShengPaginationDataGridView.cs",
"chars": 14723,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/ShengPaginationDataGridView.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengPanel.cs",
"chars": 8394,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Reflection;\n"
},
{
"path": "Sheng.Winform.Controls/ShengSimpleCheckBox.cs",
"chars": 2059,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengTabControl.cs",
"chars": 2006,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Reflection;\n"
},
{
"path": "Sheng.Winform.Controls/ShengTextBox.cs",
"chars": 7214,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing System.Text.Regular"
},
{
"path": "Sheng.Winform.Controls/ShengThumbnailImageListView.cs",
"chars": 8672,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Windows"
},
{
"path": "Sheng.Winform.Controls/ShengToolStrip.cs",
"chars": 27845,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Runtime"
},
{
"path": "Sheng.Winform.Controls/ShengToolStripMenuItem.cs",
"chars": 10907,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Windows.Forms;\nusing Sheng.Winform.Contr"
},
{
"path": "Sheng.Winform.Controls/ShengToolStripSeparator.cs",
"chars": 1762,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengTreeView.cs",
"chars": 16689,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/ShengUserControl.Designer.cs",
"chars": 948,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class ShengUserControl\n {\n /// <summary> \n /// 必需的设计器变量"
},
{
"path": "Sheng.Winform.Controls/ShengUserControl.cs",
"chars": 2345,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nus"
},
{
"path": "Sheng.Winform.Controls/ShengUserControl.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/ShengValidateHelper.cs",
"chars": 3008,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Windows.Forms;\nusing"
},
{
"path": "Sheng.Winform.Controls/WinAPI.cs",
"chars": 1271,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Runtime.InteropServi"
},
{
"path": "Sheng.Winform.Controls/Wizard/IWizardView.cs",
"chars": 1505,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace Sheng.Winform.Controls"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardPanelBase.Designer.cs",
"chars": 1218,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class WizardPanelBase\n {\n /// <summary> \n /// 必需的设计器变量。"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardPanelBase.cs",
"chars": 1835,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Drawing;\nusing System.Data;\nu"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardPanelBase.resx",
"chars": 5695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardView.Designer.cs",
"chars": 9169,
"preview": "namespace Sheng.Winform.Controls\n{\n partial class WizardView\n {\n /// <summary>\n /// Required design"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardView.cs",
"chars": 7257,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
},
{
"path": "Sheng.Winform.Controls/Wizard/WizardView.resx",
"chars": 7634,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prima"
},
{
"path": "Sheng.Winform.Controls.Demo/Form1.Designer.cs",
"chars": 1401,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class Form1\r\n {\r\n /// <summary>\r\n /// 必需的设计器变量。\r"
},
{
"path": "Sheng.Winform.Controls.Demo/Form1.cs",
"chars": 9843,
"preview": "using Sheng.Winform.Controls.Kernal;\r\nusing Sheng.Winform.Controls.Win32;\r\nusing System;\r\nusing System.Collections.Gene"
},
{
"path": "Sheng.Winform.Controls.Demo/Form1.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormMisc.Designer.cs",
"chars": 10096,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormMisc\r\n {\r\n /// <summary>\r\n /// Require"
},
{
"path": "Sheng.Winform.Controls.Demo/FormMisc.cs",
"chars": 471,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormMisc.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengAdressBar.Designer.cs",
"chars": 5221,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengAdressBar\r\n {\r\n /// <summary>\r\n /"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengAdressBar.cs",
"chars": 572,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengAdressBar.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector.Designer.cs",
"chars": 13420,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengComboSelector\r\n {\r\n /// <summary>\r\n "
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector.cs",
"chars": 1046,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector2.Designer.cs",
"chars": 11997,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengComboSelector2\r\n {\r\n /// <summary>\r\n "
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector2.cs",
"chars": 912,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengComboSelector2.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengDataGridView.Designer.cs",
"chars": 6967,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengDataGridView\r\n {\r\n /// <summary>\r\n "
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengDataGridView.cs",
"chars": 1050,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengDataGridView.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengImageListView.Designer.cs",
"chars": 15306,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengImageListView\r\n {\r\n /// <summary>\r\n "
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengImageListView.cs",
"chars": 2064,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengImageListView.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengListView.Designer.cs",
"chars": 12675,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengListView\r\n {\r\n /// <summary>\r\n //"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengListView.cs",
"chars": 1066,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengListView.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengThumbnailImageListView.Designer.cs",
"chars": 6273,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengThumbnailImageListView\r\n {\r\n /// <summar"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengThumbnailImageListView.cs",
"chars": 1088,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengThumbnailImageListView.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengTreeView.Designer.cs",
"chars": 5356,
"preview": "namespace Sheng.Winform.Controls.Demo\r\n{\r\n partial class FormShengTreeView\r\n {\r\n /// <summary>\r\n //"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengTreeView.cs",
"chars": 542,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.ComponentModel;\r\nusing System.Data;\r\nusing System.Drawin"
},
{
"path": "Sheng.Winform.Controls.Demo/FormShengTreeView.resx",
"chars": 5815,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/MainToolStripPanel.cs",
"chars": 797,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing.Drawing2D;\nu"
},
{
"path": "Sheng.Winform.Controls.Demo/Program.cs",
"chars": 486,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Windows.Forms;\r\n\r\nnamespace Sheng.Wi"
},
{
"path": "Sheng.Winform.Controls.Demo/Properties/AssemblyInfo.cs",
"chars": 1011,
"preview": "using System.Reflection;\r\nusing System.Runtime.CompilerServices;\r\nusing System.Runtime.InteropServices;\r\n\r\n// 有关程序集的一般信"
},
{
"path": "Sheng.Winform.Controls.Demo/Properties/Resources.Designer.cs",
"chars": 2537,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// 此代码由工具生成。"
},
{
"path": "Sheng.Winform.Controls.Demo/Properties/Resources.resx",
"chars": 5610,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/Properties/Settings.Designer.cs",
"chars": 1112,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// This code"
},
{
"path": "Sheng.Winform.Controls.Demo/Properties/Settings.settings",
"chars": 247,
"preview": "<?xml version='1.0' encoding='utf-8'?>\r\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings"
},
{
"path": "Sheng.Winform.Controls.Demo/Resource1.Designer.cs",
"chars": 7297,
"preview": "//------------------------------------------------------------------------------\r\n// <auto-generated>\r\n// 此代码由工具生成。"
},
{
"path": "Sheng.Winform.Controls.Demo/Resource1.resx",
"chars": 9331,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<root>\r\n <!-- \r\n Microsoft ResX Schema \r\n \r\n Version 2.0\r\n \r\n T"
},
{
"path": "Sheng.Winform.Controls.Demo/Sheng.Winform.Controls.Demo.csproj",
"chars": 10239,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"14.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micro"
},
{
"path": "Sheng.Winform.Controls.Demo/Sheng.Winform.Controls.Demo.csproj.user",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbu"
},
{
"path": "Sheng.Winform.Controls.Demo/StartPageCodePage.cs",
"chars": 7704,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.IO;\r\n\r\nnamespace"
},
{
"path": "Sheng.Winform.Controls.Demo/StartPageScheme.cs",
"chars": 5097,
"preview": "using System;\nusing System.Windows.Forms;\n\nusing System.IO;\n\nnamespace Sheng.Winform.Controls.Demo\n{\n class StartPag"
},
{
"path": "Sheng.Winform.Controls.Demo/TestListViewItem.cs",
"chars": 981,
"preview": "using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\n\r\nnamespace Sheng.Winform.Con"
},
{
"path": "Sheng.Winform.Controls.Drawing/BmpAdjuster.cs",
"chars": 9959,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls.Drawing/ColorRepresentationHelper.cs",
"chars": 1838,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls.Drawing/DrawingTool.cs",
"chars": 17288,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls.Drawing/GraphPlotting.cs",
"chars": 10842,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
},
{
"path": "Sheng.Winform.Controls.Drawing/GraphicsExtension.cs",
"chars": 12992,
"preview": "/* GraphicsExtension - [Extended Graphics]\n * Author name: Arun Reginald Zaheeruddin\n * Current version: "
},
{
"path": "Sheng.Winform.Controls.Drawing/Properties/AssemblyInfo.cs",
"chars": 1003,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// 有关程序集的常规信息通过以"
},
{
"path": "Sheng.Winform.Controls.Drawing/Sheng.Winform.Controls.Drawing.csproj",
"chars": 2861,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
},
{
"path": "Sheng.Winform.Controls.Drawing/Sheng.Winform.Controls.Drawing.csproj.user",
"chars": 220,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
}
]
// ... and 34 more files (download for full content)
About this extraction
This page contains the full source code of the iccb1013/Sheng.Winform.Controls GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 234 files (1.6 MB), approximately 360.4k tokens, and a symbol index with 1613 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.