継承コントロールの作成方法(2):デフォルトを設定する方法
対象製品
InputMan for Windows Forms 6.0J
詳細
InputMan for Windows Forms 6.0Jでは、Service Pack 1以降、2つの継承コントロールを作成する方法を提供しています。ひとつは「デザイン機能を無効にして実行時に設定する方法」、もうひとつは「デフォルトを設定する方法」です。
このFAQでは、これらの作成方法のうち、「デフォルトを設定する方法」を説明します。
・デフォルトを設定する方法
デフォルトを設定する方法は、InputMan for Windows Forms 6.0JのService Pack 1で新しく提供された継承コントロールの作成方法です。この方法は、機能毎に対象のメソッドをオーバーライドする方法です。
[継承クラス作成の際の注意点]
[継承クラスの実装例]
以下の実装例では、GcDate, GcTimeSpan, GcNumber, GcComboBoxのそれぞれのコントロールについて、基底クラスでデフォルトを設定する実装例を紹介しています。
日付コントロール(GcDate)
[Visual Basic]
[C#]
タイムスパンコントロール(GcTimeSpan)
[Visual Basic]
[C#]
数値コントロール(GcNumber)
[Visual Basic]
[C#]
コンボコントロール(GcComboBox)
[Visual Basic]
[C#]
このFAQでは、これらの作成方法のうち、「デフォルトを設定する方法」を説明します。
・デフォルトを設定する方法
デフォルトを設定する方法は、InputMan for Windows Forms 6.0JのService Pack 1で新しく提供された継承コントロールの作成方法です。この方法は、機能毎に対象のメソッドをオーバーライドする方法です。
[継承クラス作成の際の注意点]
- 引数のないコンストラクタと、IContainerを引数に取るコンストラクタの両方を実装する。
- 引数なしのコンストラクタのみが実装されている場合、継承コントロールを配置したアプリケーションを実行すると例外が発生する場合があります。
- 基底クラスのInitializeComponentメソッド内にはフィールドやサイドボタンを追加するコードを記述しない。機能毎に対象のメソッドをオーバーライドして設定します。
- 必要なメソッドを実装して、各デフォルトの設定を行う。サイドボタンとツールバーの初期化は、設定とは別のメソッドで行う必要があります。
- GetDefaultFields / デフォルトの入力フィールドの設定
- GetDefaultDisplayFields / デフォルトの表示フィールドの設定
- GetDefaultShortcuts / デフォルトのショートカットの設定
- GetDefaultSideButtonTypes / デフォルトのサイドボタンの設定
- InitializeDefaultSideButtons / デフォルトのサイドボタンの初期化
- GetDefaultToolBarItemTypes / デフォルトのツールバーの設定
- InitializeToolBarItems / デフォルトのツールバーの初期化
[継承クラスの実装例]
以下の実装例では、GcDate, GcTimeSpan, GcNumber, GcComboBoxのそれぞれのコントロールについて、基底クラスでデフォルトを設定する実装例を紹介しています。
日付コントロール(GcDate)
[Visual Basic]
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
_
Public Class GcDateEx
Inherits GcDate
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultFields() As DateField()
'
' デフォルトの入力フィールドを設定します。
'
Return DateFieldsBuilder.BuildFields("yyyy/MM/dd")
End Function
Protected Overloads Overrides Function GetDefaultDisplayFields() As DateDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return DateDisplayFieldsBuilder.BuildFields("yyyy/M/d")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
Public Class GcDateEx
Inherits GcDate
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultFields() As DateField()
'
' デフォルトの入力フィールドを設定します。
'
Return DateFieldsBuilder.BuildFields("yyyy/MM/dd")
End Function
Protected Overloads Overrides Function GetDefaultDisplayFields() As DateDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return DateDisplayFieldsBuilder.BuildFields("yyyy/M/d")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
[C#]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcDateEx : GcDate
{
public GcDateEx()
: base()
{
initializeMyControl();
}
public GcDateEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override DateField[] GetDefaultFields()
{
//
// デフォルトの入力フィールドを設定します。
//
return DateFieldsBuilder.BuildFields("yyyy/MM/dd");
}
protected override DateDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return DateDisplayFieldsBuilder.BuildFields("yyyy/M/d");
}
protected override List GetDefaultSideButtonTypes()
{
//
// デフォルトのサイドボタンを設定します。
//
List defaultSideButtonTypes = new List();
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary GetDefaultShortcuts()
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary defaultShortcuts = new Dictionary();
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcDateEx : GcDate
{
public GcDateEx()
: base()
{
initializeMyControl();
}
public GcDateEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override DateField[] GetDefaultFields()
{
//
// デフォルトの入力フィールドを設定します。
//
return DateFieldsBuilder.BuildFields("yyyy/MM/dd");
}
protected override DateDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return DateDisplayFieldsBuilder.BuildFields("yyyy/M/d");
}
protected override List
{
//
// デフォルトのサイドボタンを設定します。
//
List
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
タイムスパンコントロール(GcTimeSpan)
[Visual Basic]
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
_
Public Class GcTimeSpanEx
Inherits GcTimeSpan
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultFields() As TimeSpanField()
'
' デフォルトの入力フィールドを設定します。
'
Return TimeSpanFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultDisplayFields() As TimeSpanDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return TimeSpanDisplayFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
Public Class GcTimeSpanEx
Inherits GcTimeSpan
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultFields() As TimeSpanField()
'
' デフォルトの入力フィールドを設定します。
'
Return TimeSpanFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultDisplayFields() As TimeSpanDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return TimeSpanDisplayFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
[C#]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcTimeSpanEx : GcTimeSpan
{
public GcTimeSpanEx()
: base()
{
initializeMyControl();
}
public GcTimeSpanEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override TimeSpanField[] GetDefaultFields()
{
//
// デフォルトの入力フィールドを設定します。
//
return TimeSpanFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,");
}
protected override TimeSpanDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return TimeSpanDisplayFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,");
}
protected override List GetDefaultSideButtonTypes()
{
//
// デフォルトのサイドボタンを設定します。
//
List defaultSideButtonTypes = new List();
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary GetDefaultShortcuts()
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary defaultShortcuts = new Dictionary();
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcTimeSpanEx : GcTimeSpan
{
public GcTimeSpanEx()
: base()
{
initializeMyControl();
}
public GcTimeSpanEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override TimeSpanField[] GetDefaultFields()
{
//
// デフォルトの入力フィールドを設定します。
//
return TimeSpanFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,");
}
protected override TimeSpanDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return TimeSpanDisplayFieldsBuilder.BuildFields("hh時間mm分ss秒,0,.,,,-,");
}
protected override List
{
//
// デフォルトのサイドボタンを設定します。
//
List
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
数値コントロール(GcNumber)
[Visual Basic]
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
_
Public Class GcNumberEx
Inherits GcNumber
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Sub InitializeDefaultFields(ByVal defaultFields As NumberFields)
'
' デフォルトの入力フィールドを設定します。
'
MyBase.InitializeDefaultFields(defaultFields)
defaultFields.DecimalPart.MaxDigits = 2
defaultFields.DecimalPart.MaxDigits = 2
defaultFields.IntegerPart.GroupSizes = New Integer() {3, 0}
defaultFields.IntegerPart.MaxDigits = 4
End Sub
Protected Overloads Overrides Function GetDefaultDisplayFields() As NumberDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return NumberDisplayFieldsBuilder.BuildFields("#,###0.00,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
Public Class GcNumberEx
Inherits GcNumber
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Sub InitializeDefaultFields(ByVal defaultFields As NumberFields)
'
' デフォルトの入力フィールドを設定します。
'
MyBase.InitializeDefaultFields(defaultFields)
defaultFields.DecimalPart.MaxDigits = 2
defaultFields.DecimalPart.MaxDigits = 2
defaultFields.IntegerPart.GroupSizes = New Integer() {3, 0}
defaultFields.IntegerPart.MaxDigits = 4
End Sub
Protected Overloads Overrides Function GetDefaultDisplayFields() As NumberDisplayField()
'
' デフォルトの表示フィールドを設定します。
'
Return NumberDisplayFieldsBuilder.BuildFields("#,###0.00,,,-,")
End Function
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
[C#]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcNumberEx : GcNumber
{
public GcNumberEx()
: base()
{
initializeMyControl();
}
public GcNumberEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override void InitializeDefaultFields(NumberFields defaultFields)
{
//
// デフォルトの入力フィールドを設定します。
//
base.InitializeDefaultFields(defaultFields);
defaultFields.DecimalPart.MaxDigits=2;
defaultFields.DecimalPart.MaxDigits = 2;
defaultFields.IntegerPart.GroupSizes = new int[] {3, 0};
defaultFields.IntegerPart.MaxDigits = 4;
}
protected override NumberDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return NumberDisplayFieldsBuilder.BuildFields("#,###0.00,,,-,");
}
protected override List GetDefaultSideButtonTypes()
{
//
// デフォルトのサイドボタンを設定します。
//
List defaultSideButtonTypes = new List();
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary GetDefaultShortcuts()
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary defaultShortcuts = new Dictionary();
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcNumberEx : GcNumber
{
public GcNumberEx()
: base()
{
initializeMyControl();
}
public GcNumberEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override void InitializeDefaultFields(NumberFields defaultFields)
{
//
// デフォルトの入力フィールドを設定します。
//
base.InitializeDefaultFields(defaultFields);
defaultFields.DecimalPart.MaxDigits=2;
defaultFields.DecimalPart.MaxDigits = 2;
defaultFields.IntegerPart.GroupSizes = new int[] {3, 0};
defaultFields.IntegerPart.MaxDigits = 4;
}
protected override NumberDisplayField[] GetDefaultDisplayFields()
{
//
// デフォルトの表示フィールドを設定します。
//
return NumberDisplayFieldsBuilder.BuildFields("#,###0.00,,,-,");
}
protected override List
{
//
// デフォルトのサイドボタンを設定します。
//
List
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
コンボコントロール(GcComboBox)
[Visual Basic]
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
_
Public Class GcComboBoxEx
Inherits GcComboBox
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields
Public Class GcComboBoxEx
Inherits GcComboBox
Public Sub New()
MyBase.New()
initializeMyControl()
End Sub
Public Sub New(ByVal container As IContainer)
MyBase.New(container)
initializeMyControl()
End Sub
Private Sub initializeMyControl()
'
' コントロールを初期化します。
'
Me.FlatStyle = FlatStyleEx.Flat
End Sub
Protected Overloads Overrides Function GetDefaultSideButtonTypes() As List(Of Type)
'
' デフォルトのサイドボタンを設定します。
'
Dim defaultSideButtonTypes As New List(Of Type)()
defaultSideButtonTypes.Add(GetType(DropDownButton))
defaultSideButtonTypes.Add(GetType(SpinButton))
Return defaultSideButtonTypes
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
Protected Overloads Overrides Sub InitializeDefaultSideButtons(ByVal defaultSideButtons As SideButtonBase())
'
' デフォルトのサイドボタンを初期化します。
'
defaultSideButtons(0).BackColor = Color.Red
defaultSideButtons(1).BackColor = Color.Blue
End Sub
Protected Overloads Overrides Function GetDefaultShortcuts() As Dictionary(Of Keys, String)
'
' デフォルトのショートカット機能を設定します。
'
Dim defaultShortcuts As New Dictionary(Of Keys, String)()
defaultShortcuts.Add(Keys.Enter, "NextControl")
Return defaultShortcuts
'
' 何も設定しない場合には、Nothingを返します。
' Return Nothing
'
End Function
End Class
[C#]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcComboBoxEx : GcComboBox
{
public GcComboBoxEx()
: base()
{
initializeMyControl();
}
public GcComboBoxEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override List GetDefaultSideButtonTypes()
{
//
// デフォルトのサイドボタンを設定します。
//
List defaultSideButtonTypes = new List();
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary GetDefaultShortcuts()
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary defaultShortcuts = new Dictionary();
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;
namespace InheritControlFAQ_CSharp
{
[LicenseProviderAttribute(typeof(LicenseProvider))]
class GcComboBoxEx : GcComboBox
{
public GcComboBoxEx()
: base()
{
initializeMyControl();
}
public GcComboBoxEx(IContainer container)
: base(container)
{
initializeMyControl();
}
private void initializeMyControl()
{
//
// コントロールを初期化します。
//
this.FlatStyle = FlatStyleEx.Flat;
}
protected override List
{
//
// デフォルトのサイドボタンを設定します。
//
List
defaultSideButtonTypes.Add(typeof(DropDownButton));
defaultSideButtonTypes.Add(typeof(SpinButton));
return defaultSideButtonTypes;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
protected override void InitializeDefaultSideButtons(SideButtonBase[] defaultSideButtons)
{
//
// デフォルトのサイドボタンを初期化します。
//
defaultSideButtons[0].BackColor = Color.Red;
defaultSideButtons[1].BackColor = Color.Blue;
}
protected override Dictionary
{
//
// デフォルトのショートカット機能を設定します。
//
Dictionary
defaultShortcuts.Add(Keys.Enter, "NextControl");
return defaultShortcuts;
//
// 何も設定しない場合には、nullを返します。
// return null;
//
}
}
}
この文書は、以前は次のFAQ IDで公開されていました : 13262