作成日: 2019/08/08 最終更新日: 2019/08/08
文書種別
使用方法
詳細
C1Ribbonでは、リボンタブをクリックしてタブ移動を行うとSelectedTabChangedイベントが発生しますが、そのe引数にCancelプロパティが含まれないため、このイベントをキャンセルすることができません。
代替方法として、直前に選択したタブインデックスを変数に保存しておき、SelectedTabChangedイベント内で、SelectedTabChangedイベントハンドラをいったん削除し、SelectedTabIndexプロパティの値を保存していたタブインデックス値に戻したのち、SelectedTabChangedイベントハンドラを再度追加する方法が考えられます。
以下に、4番目以降のタブへの移動を禁止するサンプルコードを記載します。
◎サンプルコード(VB)
◎サンプルコード(C#)
代替方法として、直前に選択したタブインデックスを変数に保存しておき、SelectedTabChangedイベント内で、SelectedTabChangedイベントハンドラをいったん削除し、SelectedTabIndexプロパティの値を保存していたタブインデックス値に戻したのち、SelectedTabChangedイベントハンドラを再度追加する方法が考えられます。
以下に、4番目以降のタブへの移動を禁止するサンプルコードを記載します。
◎サンプルコード(VB)
Dim idxTab As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
idxTab = C1Ribbon1.SelectedTabIndex
End Sub
Private Sub C1Ribbon1_SelectedTabChanged(sender As Object, e As EventArgs) Handles C1Ribbon1.SelectedTabChanged
C1Ribbon1.BeginUpdate()
If (C1Ribbon1.SelectedTabIndex <= 2) Then
idxTab = C1Ribbon1.SelectedTabIndex
Else
RemoveHandler C1Ribbon1.SelectedTabChanged, AddressOf C1Ribbon1_SelectedTabChanged
C1Ribbon1.SelectedTabIndex = idxTab
AddHandler C1Ribbon1.SelectedTabChanged, AddressOf C1Ribbon1_SelectedTabChanged
End If
C1Ribbon1.EndUpdate()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
idxTab = C1Ribbon1.SelectedTabIndex
End Sub
Private Sub C1Ribbon1_SelectedTabChanged(sender As Object, e As EventArgs) Handles C1Ribbon1.SelectedTabChanged
C1Ribbon1.BeginUpdate()
If (C1Ribbon1.SelectedTabIndex <= 2) Then
idxTab = C1Ribbon1.SelectedTabIndex
Else
RemoveHandler C1Ribbon1.SelectedTabChanged, AddressOf C1Ribbon1_SelectedTabChanged
C1Ribbon1.SelectedTabIndex = idxTab
AddHandler C1Ribbon1.SelectedTabChanged, AddressOf C1Ribbon1_SelectedTabChanged
End If
C1Ribbon1.EndUpdate()
End Sub
◎サンプルコード(C#)
int idxTab;
public Form1()
{
InitializeComponent();
idxTab = c1Ribbon1.SelectedTabIndex;
}
private void c1Ribbon1_SelectedTabChanged(object sender, EventArgs e)
{
c1Ribbon1.BeginUpdate();
if (c1Ribbon1.SelectedTabIndex <= 2)
{
idxTab = c1Ribbon1.SelectedTabIndex;
}
else
{
c1Ribbon1.SelectedTabChanged -= c1Ribbon1_SelectedTabChanged;
c1Ribbon1.SelectedTabIndex = idxTab;
c1Ribbon1.SelectedTabChanged += c1Ribbon1_SelectedTabChanged;
}
c1Ribbon1.EndUpdate();
}
public Form1()
{
InitializeComponent();
idxTab = c1Ribbon1.SelectedTabIndex;
}
private void c1Ribbon1_SelectedTabChanged(object sender, EventArgs e)
{
c1Ribbon1.BeginUpdate();
if (c1Ribbon1.SelectedTabIndex <= 2)
{
idxTab = c1Ribbon1.SelectedTabIndex;
}
else
{
c1Ribbon1.SelectedTabChanged -= c1Ribbon1_SelectedTabChanged;
c1Ribbon1.SelectedTabIndex = idxTab;
c1Ribbon1.SelectedTabChanged += c1Ribbon1_SelectedTabChanged;
}
c1Ribbon1.EndUpdate();
}
旧文書番号
84364