Color GetColorAt(int x, int y) { System.Drawing.Rectangle bounds = new System.Drawing.Rectangle(x, y, 1, 1); try { using (Graphics g = Graphics.FromImage(bmp)) g.CopyFromScreen(bounds.Location, System.Drawing.Point.Empty, bounds.Size); } catch (Win32Exception e) { // Occurs when administrator privilege requesting window pops out. return(Color.Transparent); } System.Drawing.Color color = bmp.GetPixel(0, 0); return(new Color(new Vector4(color.R, color.G, color.B, color.A) / 255.0f)); }
public static Rectangle GetScreenWorkingArea(int screenIndex) { System.Drawing.Rectangle rect = System.Windows.Forms.Screen.AllScreens[screenIndex].WorkingArea; return(new Rectangle(rect.X, rect.Y, rect.Width, rect.Height)); }
public static Rectangle GetScreenWorkingArea() { System.Drawing.Rectangle rect = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea; return(new Rectangle(rect.X, rect.Y, rect.Width, rect.Height)); }
private void HandleListViewClick(ListView lv, System.Drawing.Rectangle r) { var lvir = GetBasicRect(lv); var found = false; foreach (ListViewItem lvi in lv.Items) { var rr = new System.Drawing.Rectangle(lvir.X + lvi.Bounds.X, lvir.Y + lvi.Bounds.Y, lvir.Width + lvi.Bounds.Width, lvir.Height + lvi.Bounds.Height); if (rr.IntersectsWith(r)) { found = true; lvi.Selected = true; } } if (found == false) { foreach (ListViewItem lvi in lv.Items) lvi.Selected = false; } }
/// <summary> /// IMPORTANT: insert into your mouse update function /// </summary> /// <param name="gt"></param> /// <param name="ms"></param> /// <returns></returns> public Control MouseUpdate(GameTime gt) { MC.UpdateButtons(Mouse.GetState(), gt); var ms = Mouse.GetState(); var currposrect = new Rectangle(ms.X, ms.Y, 1, 1); var currposrect2 = new System.Drawing.Rectangle(ms.X, ms.Y, 1, 1); if (ms.LeftButton != ButtonState.Pressed) { MC.SwitchStates(); return null; } Control ret = null; foreach (var c in GetControls(FormInit)) { if (c == null || c.Enabled == false) continue; var l = GetBasicRect(c); if (l.Intersects(currposrect)) { //press, not hold if (MC.ButtonsDown.ContainsKey(MouseClass.mouseButtons.left)) { //set selected index for listbox if (c is ListBox) { HandleListboxClick(c as ListBox, currposrect); } else if (c is ListView) { HandleListViewClick(c as ListView, currposrect2); } else if (c is RadioButton) { HandleRadioButtonClick(c as RadioButton, currposrect); } else if (c is CheckBox) { HandleCheckboxClick(c as CheckBox); } } if (c is TrackBar) { HandleTrackBarClick(c as TrackBar, currposrect); } ret = c; break; } } MC.SwitchStates(); return ret; }
protected override void OnMove(EventArgs e) { frame.Position = this.PointToScreen(new DPoint(0, 0)).PxVector(); MaximizedBounds = new System.Drawing.Rectangle(new DPoint(0, 0), Screen.FromControl(this).WorkingArea.Size); }