Exemplo n.º 1
0
        private void SubscribeTabs <T>(object sender, IActiveContainer <T> extensions)
        {
            var tab  = ((TabControl)sender).SelectedTab;
            var name = tab.Text;

            extensions.ActiveChanged(extensions.FirstOrDefault(x => x.GetType().Name == name));
        }
Exemplo n.º 2
0
 private void ExtendTo <T>(TabControl control, IActiveContainer <T> extensions, Action <FlowLayoutPanel, T, PropertyInfo> PropertyCallBack)
 {
     foreach (var extension in extensions)
     {
         var name = extension.GetType().Name;
         var page = new TabPage {
             Text = name
         };
         control.TabPages.Add(page);
         var floater = new FlowLayoutPanel {
             Dock = DockStyle.Fill
         };
         floater.VerticalScroll.Enabled = true;
         floater.AutoScroll             = true;
         floater.AutoSizeMode           = AutoSizeMode.GrowAndShrink;
         floater.AutoSize = true;
         page.Controls.Add(floater);
         foreach (var prop in extension.GetType().GetProperties())
         {
             PropertyCallBack(floater, extension, prop);
         }
     }
 }