// in a panel scroll, the mouse wheel is ate by the PS and thus does not go to the outer panel void CreateDGVInPS(int vpos) { ExtPanelDataGridViewScroll ps = new ExtPanelDataGridViewScroll(); ps.Bounds = new Rectangle(20, vpos, 500, 200); DataGridView dgv = new DataGridView(); dgv.Dock = DockStyle.Fill; dgv.Columns.Add(new DataGridViewTextBoxColumn()); dgv.Columns.Add(new DataGridViewTextBoxColumn()); dgv.Columns.Add(new DataGridViewTextBoxColumn()); dgv.ScrollBars = ScrollBars.None; extPanelScroll1.Controls.Add(dgv); for (int i = 0; i < 30; i++) { DataGridViewRow row = dgv.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dgv, i.ToString(), "two", "Three"); dgv.Rows.Add(row); } ps.Controls.Add(dgv); ExtScrollBar sb = new ExtScrollBar(); ps.Controls.Add(sb); extPanelScroll1.Controls.Add(ps); }
public ExtTreeView() : base() { TreeView = new TreeViewBack(); ScrollBar = new ExtScrollBar(); Controls.Add(TreeView); Controls.Add(ScrollBar); TreeView.Scrollable = true; // TreeView has to be scrollable to scroll at all, just make sure the themed scroll bar is on top of the default Windows one TreeView.BorderStyle = BorderStyle.None; TreeView.BackColor = BackColor; TreeView.ForeColor = ForeColor; TreeView.MouseUp += TreeView_MouseUp; TreeView.MouseDown += TreeView_MouseDown; TreeView.MouseMove += TreeView_MouseMove; TreeView.MouseEnter += TreeView_MouseEnter; TreeView.MouseLeave += TreeView_MouseLeave; TreeView.AfterCollapse += TreeView_ExpandChanged; TreeView.AfterExpand += TreeView_ExpandChanged; TreeView.Show(); ScrollBar.Show(); TreeView.MouseWheel += new MouseEventHandler(MWheel); // need to keep our scrollbar in sync with the Windows one, need to catch the mouse wheel ScrollBar.Scroll += new ScrollEventHandler(OnScrollBarChanged); }