Tag: 控制

在表单中找到焦点控件(在.netCF中)

我有一个表格,我想知道哪个控件有焦点。 我怎样才能做到这一点? 我见过的最佳解决方案让我迭代屏幕上的所有控件。 虽然可行,但只是知道哪个控件具有焦点似乎很多工作。

如何创建不可选的上下文菜单项?

我有一个简单的上下文菜单。 我想添加一个标题项 ,它不能被选中,甚至没有用鼠标光标突出显示。 当我设置Enabled = false; 我仍然可以标记它,它感觉很愚蠢,因为它显然是禁用的,文本是灰色的。 例: 像这样。 我无法标记或选择“菜单”项。 它绝不能是蓝色的。 所以我想在我的C#应用​​程序中使用它。 简单,没有风格。 测试代码: public Form1() { ContextMenuStrip = new ContextMenuStrip(); ContextMenuStrip.Font = new Font(“Arial”, 8); ToolStripItem a = ContextMenuStrip.Items.Add(“— Title —“); a.Enabled = false; a.Font = new Font(“Consolas”, 16, FontStyle.Bold | FontStyle.Italic); ContextMenuStrip.Items.Add(“Alice”); ContextMenuStrip.Items.Add(“Bob”); ContextMenuStrip.Items.Add(“Conrad”); }

从用户控制页面访问MainWindow的控件。 WPF C#

我在MainWindow中有一个页面转换(一个控件),我有很多用户控制页面,我想从我的用户控制页面访问MainWindow中的页面转换? 我怎么做? 我试过了 : Story page = new Story(); NavigationService nav = NavigationService.GetNavigationService(this); // Navigate to the page, using the NavigationService // if (nav != null) // { // nav.Navigate(page); MainWindow test = new MainWindow(); test.pageTransition1.ShowPage(page); // }

c#屏幕上控制的绝对位置

我试图在屏幕上获得控件的绝对位置。 我正在使用两台显示器,结果并不是那么好…… 我正在做的是打开另一个表单来捕获图像,然后将此图像传递给主表单并关闭捕获表单。 然后我希望主窗体出现在拍摄照片的同一个地方。 要获得我想要做的事情的要点,请在Windows上打开Snipping Tool并捕获剪辑。 然后窗口将出现在拍摄图像的位置。 这是我用来执行此操作的当前代码: Location = new Point(Cursor.Position.X – CaptureBox.Width – CapturePanel.Location.X – CaptureBox.Location.X – 8, Cursor.Position.Y – CaptureBox.Height – CapturePanel.Location.Y – CaptureBox.Location.Y – 30); CapturePanel包含存储图片的CaptureBox控件。 我也从X位置获取8,从te Y位置获取30,以补偿表单的边框和标题栏,但唯一的问题是某些计算机将使用不同的窗口样式,这些数字将会改变。 如果有一种方法可以用来抓取窗口的边框和标题宽度/高度,那就太好了。 编辑 解决方法是: Location = new Point( Cursor.Position.X – CaptureBox.Width – CapturePanel.Location.X – CaptureBox.Location.X – SystemInformation.HorizontalResizeBorderThickness, Cursor.Position.Y – CaptureBox.Height – CapturePanel.Location.Y – CaptureBox.Location.Y […]

PropertyGrid和动态对象类型

我正在编写一个GUI应用程序,我需要启用任意对象的编辑属性(它们的类型仅在运行时才知道)。 我决定使用PropertyGrid控件来启用此function。 我创建了以下类: [TypeConverter(typeof(ExpandableObjectConverter))] [DefaultPropertyAttribute(“Value”)] public class Wrapper { public Wrapper(object val) { m_Value = val; } private object m_Value; [NotifyParentPropertyAttribute(true)] [TypeConverter(typeof(ExpandableObjectConverter))] public object Value { get { return m_Value; } set { m_Value = value; } } } 当我得到一个我需要编辑的对象实例时,我为它创建了一个Wrapper并将其设置为所选对象: Wrapper wrap = new Wrapper(obj); propertyGrid.SelectedObject = wrap; 但是我遇到了以下问题 – 只有当obj的类型是某种自定义类型(即我自己定义的类,或者内置的复杂类型)时才能按预期工作,但是当obj是基元时则不行。 例如,如果我定义: [TypeConverter(typeof(ExpandableObjectConverter))] public class […]

如何在不改变基于当前位置X和Y的纵横比的情况下调整旋转控件的大小?

目前我使用了以下代码,它工作正常,但不尊重宽高比: private double angle; private Point transformOrigin; private ContentControl designerItem; public ResizeThumb() { DragStarted += new DragStartedEventHandler(this.ResizeThumb_DragStarted); DragDelta += new DragDeltaEventHandler(this.ResizeThumb_DragDelta); } private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e) { this.designerItem = DataContext as ContentControl; if (this.designerItem != null) { this.transformOrigin = this.designerItem.RenderTransformOrigin; RotateTransform rotateTransform = this.designerItem.RenderTransform as RotateTransform; if (rotateTransform != null) this.angle = rotateTransform.Angle […]

C#从运行时创建的文本框中获取文本

您好我正在制作一个包含2个文本框和2个按钮的程序当我按下添加按钮时,它将使用此代码创建2个新文本框: private void ADD_ROW_Click(object sender, EventArgs e) { //Make the NEW_TEXTBOX_1 HOW_FAR += 1; TextBox NEW_TEXTBOX_1 = new TextBox(); NEW_TEXTBOX_1.Name = “NAME_TEXTBOX_” + HOW_FAR.ToString(); //Set NEW_TEXTBOX_1 font NEW_TEXTBOX_1.Font = new Font(“Segoe Print”, 9); NEW_TEXTBOX_1.Font = new Font(NEW_TEXTBOX_1.Font, FontStyle.Bold); //Set pos and size and then create it. NEW_TEXTBOX_1.Location = new System.Drawing.Point(16, 71 + (35 * HOW_FAR)); […]

this.Controls不包含所有控件

特别是跳过了一个文本框。 ID为“q3TXT”的文本框位于在PageLoad方法中隐藏的面板内。 然而,在收集控件的函数之前,它变得可见。 收集每个其他文本框。 我试过IEnumberable文本框集合,但没有用。 如何让文本框出现在控件列表中? 这是html: If no, when did data collection stop? 和c#代码的一部分: foreach (var item in this.Controls.OfType()) { //some code }

在.NET类库中IAudioEndpointVolume位于何处?

我正在尝试编写一个控制Windows 7系统卷的应用程序,但我找不到有关IAudioEndpointVolume在.NET类库中的位置的任何文档。 完整路径是什么?

如何使鼠标或Route MouseMove事件的控件“透明”到父级?

我想创建一个纸牌游戏。 我使用mousemove事件通过窗口拖动卡片。 问题是如果我将鼠标移动到另一张卡上,它会卡住,因为鼠标光标下面的卡会获得鼠标事件,因此不会触发窗口的MouseMove事件。 这就是我做的: private void RommeeGUI_MouseMove(object sender, MouseEventArgs e) { if (handkarte != null) { handkarte.Location = this.PointToClient(Cursor.Position); } } 我试过以下,但没有区别: SetStyle(ControlStyles.UserMouse,true); SetStyle(ControlStyles.EnableNotifyMessage, true); 我正在寻找一种方法来实现一个应用程序全局事件处理程序或一种实现所谓的事件冒泡的方法。 至少我想让鼠标忽略某些控件。