Tag: 窗口

C#WPF移动窗口

我在Window添加了以下参数: WindowStyle=”None” WindowStartupLocation=”CenterScreen” AllowsTransparency=”True” ResizeMode=”NoResize” Background=”Transparent” 现在我无法移动Window ,所以我将以下部分代码添加到我的Window : #region Window: Moving private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { DragMove(); } #endregion 另外,我必须指定我的Window中的XAML代码如下( Window看起来像Polygon ): 我想知道我应该怎么做才能让Window改变它在鼠标拖动时的位置以及添加什么来调整窗口的大小,条件是我将添加的控件和其他东西也会resize(我发现这段代码可以resize)我想知道这里是否好。)

显示加载窗口

我在WPF中的应用程序加载外部资源,所以我想在程序加载时显示加载表单。 我尝试创建表单,并在加载代码之前显示,并在加载结束时关闭。 private void Window_Loaded(object sender, RoutedEventArgs e) { LoadForm lf = new LoadForm(); lf.Visibility = Visibility.Visible; // Al code that delays application loading lf.Close(); } 但我唯一得到的是表单在加载进度完成并立即关闭时显示。 我认为我需要使用System.Threading但不确定。 谢谢。 注意我在Window_Loaded()方法中加载所有应用程序外部资源,而不是在主类方法中。

调试后C#WPF与IDE的大小不同?

我在Blend/VS2012 IDE和Debugging遇到了不同外观的问题。 在IDE , Rectangle位于中心,但在编译或调试时,边距的大小不同。 在我看来,这是因为窗口边框的大小不同。 我真的想解决这个问题。 有什么建议? 谢谢。 XAML 编辑过的XAML代码: 结果是一样的。 这是我的电脑的问题吗?

在桌面上拖动WPF表单

我正在尝试制作ac#WPF表单,我可以通过单击它并用鼠标移动来将其拖动到屏幕上。 forms特征包括完全透明且仅包含一个图像。 这就是说窗口样式为none,它不会显示在任务栏中。 因此,当应用程序运行时,您基本上可以看到的只是一个小图像 – 理想情况下,如果我单击并按住鼠标左键并将其移动,我希望能够将其拖动到桌面上。 有谁知道一个简单的方法,我可以完成这个或我忽略了function的构建? 谢谢。

将鼠标单击发送到另一个应用程序的XY坐标

我正在尝试将模拟鼠标单击发送到另一个应用程序。 我理解如何实际发送关键点击,这不是问题。 我需要将鼠标单击发送到另一个应用程序的正中心。 我可以简单地测试一次并找出坐标并将点击发送到该XY位置,但是有一个问题……当我移动窗口或调整此窗口大小时,XY坐标显然不会相同。 所以我需要找出如何获得窗口的大小及其位置,然后从中找到中心点。 有人知道怎么做吗? 非常感谢您的回复! 这是我发送鼠标点击的代码 public void SendLeftClick(int x, int y) { int old_x, old_y; old_x = Cursor.Position.X; old_y = Cursor.Position.Y; SetCursorPos(x, y); mouse_event(MouseEventFlag.LeftDown, x, y, 0, UIntPtr.Zero); mouse_event(MouseEventFlag.LeftUp, x, y, 0, UIntPtr.Zero); SetCursorPos(old_x, old_y); }

创建可重用的WINDOW控件

好吧,这似乎很难,或者我错过了一些明显的东西。 我想创建可重复使用的WINDOW,它将在所有产品中使用。 这意味着该控件位于WPF.Controls程序集中。 主题/ Generic.xaml不是解决方案,我需要为窗口提供自己的代码,例如自定义消息钩子等。 这是我在WPF.Controls.dll中的代码: public class CustomWindow : Window { static CustomWindow() { DefaultStyleKeyProperty.OverrideMetadata( typeof(CustomWindow), new FrameworkPropertyMetadata(typeof(CustomWindow))); } 现在,在另一个程序集中,我创建了XAML文件并尝试使用它: 我所看到的:大黑屏,没有别的,没有更少(大黑矩形 – 没有标题栏)。 任何人都可以对此有所了解吗? 通过一些谷歌搜索,我发现其他人有同样的问题,所以我想这不是我特定的。 禁用硬件渲染没有帮助。

WPF模式进度窗口

如果这个问题得到了很多次回答,我很抱歉,但我似乎无法找到适合我的答案。 我想创建一个模态窗口,在我的应用程序执行长时间运行的任务时显示各种进度消息。 这些任务在一个单独的线程上运行,我可以在进程的不同阶段更新进度窗口上的文本。 跨线程通信都很好地工作。 问题是我不能让窗口只在其他应用程序窗口(不是计算机上的每个应用程序)之上,保持在最顶层,阻止与父窗口的交互,并仍然允许工作继续。 这是我到目前为止所尝试的内容: 首先,我的启动窗口是一个自定义类,它扩展了Window类,并具有更新消息框的方法。 我在早期创建了一个新的splash类实例,并根据需要显示/隐藏它。 在最简单的情况下,我实例化窗口并在其上调用.Show() : //from inside my secondary thread this._splash.Dispatcher.Invoke(new Action(() => this._splash.Show()); //Do things //update splash text //Do more things //close the splash when done this._splash.Dispatcher.Invoke(new Action(() => this._splash.Hide()); 这会正确显示窗口并继续运行我的代码来处理初始化任务,但它允许我单击父窗口并将其带到前面。 接下来我尝试禁用主窗口并在以后重新启用: Application.Current.Dispatcher.Invoke(new Action(() => this.MainWindow.IsEnabled = false)); //show splash, do things, etc Application.Current.Dispatcher.Invoke(new Action(() => this.MainWindow.IsEnabled = true)); […]

在光标位置打开一个小浮动窗口

我正在写一个小概念validation,要求我听一些按键组合,当按下时会在当前光标位置下面打开一个小的WPF/WinForms窗口。 我更像是一个网络人,所以我从这开始就遇到了麻烦。 谁能指出我正确的方向? 或者提供一些资源/示例? 谢谢。

在Parent的构造函数中设置窗口所有者的麻烦

WPF中是否有任何错误,将窗口的Owner属性设置为该父窗口构造函数中的父窗口? 不应该,对吗? 那么为什么我从以下代码中获取XamlParseException ? public partial class MainView : Window { private readonly OwnedWindow owned; public MainView() { InitializeComponent(); owned = new OwnedWindow(); owned.DataContext = DataContext; var window = GetWindow(this); owned.Owner = this; //Setting to window causes the same error … } 我应该澄清一下,删除owned.Owner = this; 还会删除运行时错误。 例外的细节: XamlParseException未处理 在类型’… MainView’上调用与指定绑定约束匹配的构造函数引发了exception。 实际上 ,我查看了内部exception,它说: 无法将Owner属性设置为之前未显示的Window。 所以我现在正在调查。

获取C#中的活动窗口坐标和高度宽度

我只是在这里查看一些post,但没有一个对我有帮助。 我想要做的是运行Screen Capturing的后台进程。 现在我想要一段代码,它会给我X,Y或任何打开的Active / Current Window(Say Notepad)及其高度和宽度。 就是这样,没有别的。