private void UpdateUpDown() { if (bUpDown) { if (WIN32.IsWindowVisible(scUpDown.Handle)) { Rectangle rect = new Rectangle(); WIN32.GetClientRect(scUpDown.Handle, ref rect); //move the rect is allow close in on (TOP) if ((this.Alignment == TabAlignment.Top) && (_allowCloseButton == true)) { WIN32.MoveWindow(scUpDown.Handle, this.Width - 60, rect.Y + 5, rect.Width, rect.Height, true); } else if ((this.Alignment == TabAlignment.Top) && (_allowCloseButton == false)) //if ((this.Alignment == TabAlignment.Top)) { WIN32.MoveWindow(scUpDown.Handle, this.Width - 41, rect.Y + 5, rect.Width, rect.Height, true); } //move the rect is allow close in on (Bottom) if ((this.Alignment == TabAlignment.Bottom) && (_allowCloseButton == true)) { WIN32.MoveWindow(scUpDown.Handle, this.Width - 60, this.Height - 24, rect.Width, rect.Height, true); } else if ((this.Alignment == TabAlignment.Bottom) && (_allowCloseButton == false)) //if ((this.Alignment == TabAlignment.Bottom)) { WIN32.MoveWindow(scUpDown.Handle, this.Width - 41, this.Height - 24, rect.Width, rect.Height, true); } WIN32.InvalidateRect(scUpDown.Handle, ref rect, true); //Try Disabling Theme try { WIN32.SetWindowTheme(scUpDown.Handle, "", ""); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
internal void DrawIcons(Graphics g) { if ((leftRightImages == null) || (leftRightImages.Images.Count != 4)) { return; } //---------------------------- // calc positions Rectangle TabControlArea = this.ClientRectangle; Rectangle r0 = new Rectangle(); WIN32.GetClientRect(scUpDown.Handle, ref r0); //paint backcolor Brush br = new SolidBrush(_buttonsBackColour); r0.Width = r0.Width - 1; g.FillRectangle(br, r0); br.Dispose(); //paint border Pen border = new Pen(_buttonsBorderColour); Rectangle rborder = r0; rborder.Height = rborder.Height - 1; rborder.Width = rborder.Width - 0; g.DrawRectangle(border, rborder); border.Dispose(); int nMiddle = (r0.Width / 2); int nTop = (r0.Height - 16) / 2; int nLeft = (nMiddle - 16) / 2; Rectangle r1 = new Rectangle(nLeft, nTop, 16, 16); Rectangle r2 = new Rectangle(nMiddle + nLeft, nTop, 16, 16); //---------------------------- //---------------------------- // draw buttons Image img = leftRightImages.Images[1]; if (img != null) { if (this.TabCount > 0) { Rectangle r3 = this.GetTabRect(0); if (r3.Left < TabControlArea.Left) { g.DrawImage(img, r1); } else { img = leftRightImages.Images[3]; if (img != null) { g.DrawImage(img, r1); } } } } img = leftRightImages.Images[0]; if (img != null) { if (this.TabCount > 0) { Rectangle r3 = this.GetTabRect(this.TabCount - 1); if (r3.Right > (TabControlArea.Width - r0.Width)) { g.DrawImage(img, r2); } else { img = leftRightImages.Images[2]; if (img != null) { g.DrawImage(img, r2); } } } } Invalidate(); //---------------------------- }