using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Softelvdm.SftTabsNET;
using Softelvdm.Controls;
namespace PartsSample1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
// This sample demonstrates how the various parts of a tab control are used in tabs.
// To prepare for this sample, create a new project with a blank form and add
// a SftTabs/NET control named sftTabs1.
// In addition, adjust the following FromFile method to use a (small) bitmap
// that is located on your system.
Image img1 = Bitmap.FromFile("..\\..\\test1.png");
Image img2 = Bitmap.FromFile("..\\..\\test2.png");
sftTabs1.Initializing = true;
// First Tab
TabClass tab = sftTabs1.TabCollection.Add();
tab.Orientation = OrientationOptionalEnum.Vertical;
TextPartClass textPart = new TextPartClass("&First Tab");
textPart.PartAlignment = PartAlignmentEnum.Center;
textPart.HAlign = HAlignmentOptionalEnum.Center;
tab.Parts.Add(textPart);
ImagePartClass imagePart= new ImagePartClass(img1);
imagePart.PartAlignment = PartAlignmentEnum.Center;
imagePart.HAlign = HAlignmentOptionalEnum.Center;
tab.Parts.Add(imagePart);
// Second Tab
tab = sftTabs1.TabCollection.Add();
ButtonPartClass buttonPart = new ButtonPartClass();
buttonPart.Text = ">";
buttonPart.Action += new GenericPartClass.ActionEventHandler(buttonPart_Action);
buttonPart.PartAlignment = PartAlignmentEnum.Center;
tab.Parts.Add(buttonPart);
CheckBoxPartClass checkboxPart = new CheckBoxPartClass(CheckBoxStateEnum.Checked);
checkboxPart.PartAlignment = PartAlignmentEnum.Center;
checkboxPart.Action += new GenericPartClass.ActionEventHandler(checkboxPart_Action);
tab.Parts.Add(checkboxPart);
textPart = new TextPartClass("Tab &Two");
textPart.PartAlignment = PartAlignmentEnum.Center;
textPart.BackColorSelected = Color.Green;
textPart.Angle = 315;
tab.Parts.Add(textPart);
// Third Tab
tab = sftTabs1.TabCollection.Add();
textPart = new TextPartClass("Third Tab (&3)");
textPart.PartAlignment = PartAlignmentEnum.Center;
tab.Parts.Add(textPart);
imagePart = new ImagePartClass();
imagePart.Image = img2;
imagePart.VisibleAppearance = VisibleAppearanceEnum.OwnerSelected;
imagePart.PartAlignment = PartAlignmentEnum.Center;
tab.Parts.Add(imagePart);
// Make the first tab active
sftTabs1.Current = 0;
sftTabs1.Initializing = false;
}
void checkboxPart_Action(object sender, ActionEventArgs e) {
// A checkbox part automatically checks/unchecks the checkbox, and
// it automatically makes the containing tab the selected tab.
// To prevent the tab from being selected, use the CancelMode method:
sftTabs1.CancelMode();
}
void buttonPart_Action(object sender, ActionEventArgs e) {
TabClass tab = (TabClass) e.Part.PartOwner;
MessageBox.Show("The button was clicked");
// A button part automatically makes the containing tab the selected tab.
// But, because we changed the input focus using the message box above,
// tab switching was cancelled. So, we can explicitly make the tab
// the selected tab, if desired:
sftTabs1.Current = tab.Index;
}
}
}