通过代码校准游戏控制器
我希望从C#WPF应用程序重现校准过程.互联网上有类似的应用程序这样做,例如 和 dxtWeak : 但是,该过程很繁琐,因为要求您为每个轴选择一个最小,中间和最大值. 我有自己的操纵杆板,该板被Windows识别为游戏控制器.我能够使用DirectInput或任何其他库读取其值.当使用这两个应用程序之一校准我的操纵杆时,当我用DirectInput进行轮询值时,我实际上可以获得结果.肯定有一种通过代码做到的方法. 我的目标是开发一个应用程序以同时校准多个轴.我认为DirectInput可以处理此类任务,或者Windows注册表将其存储在某个地方.可悲的是,在Google上搜索了几个小时后,没有足够的结果(请证明我错了!) . 编辑: 在DirectInput API中有DeviceProperties.GetCalibrationPoints和DeviceProperties.SetCalibrationPoints函数,但是我对如何使用它们一无所知.
10 2024-04-26
编程技术问答社区
C#WPF最大化窗口的位置
我在使用WPF和C#创建的应用程序中有一个窗口.我已经设置了maxheight = 200,maxWidth = 500和startUplocation = CenterScreen.如何最大化此窗口使其位于屏幕的左上区域,即:不再在中心!即使我将左上= 200设置为window_statechanged事件,最大化的窗口始终位于左上部. private void Window_StateChanged(object sender, EventArgs e) { if (this.WindowState == WindowState.Maximized) { // Left = System.Windows.SystemParameters.WorkArea.Width - Width; Left = 200; // Top = System.Windows.SystemParameter
6 2024-04-26
编程技术问答社区
在C#中从子窗口访问父窗口的控件
我有一个主要的"父"窗口包含一个按钮和一个文本框. 当我在文本框中输入一些文本时,我有另一个窗口"孩子"窗口,然后单击主窗口上的按钮.现在,子窗口包含另一个文本框和一个按钮.我需要做的是在子窗口上的文本框中输入一些文本,然后当我击中子窗口上的按钮时,父窗口上的文本框应随着我从"子"窗口输入的文本进行更新. 这是样本: form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace childform { public partial class Form1 : Form { public Form1() {
6 2024-04-26
编程技术问答社区
如何将外部CLI窗口嵌入到Windows Forms的面板中?
在c#或vb.net中,在Windows表单下,我想知道如何将外部命令行界面(CLI)窗口嵌入面板或其他类型的主机窗口中,我可以在其中渲染的内容我表格内的外部CLI窗口. 请注意,我不会假装重定向并打印 stdout 流.我只是想将窗户嵌入我的表格中,然后放置. 我已经尝试过 SetParent 函数函数,但它似乎对非刻度用户 - interface不起作用Windows,因为设置父窗口时,CLI窗口从屏幕上消失,并且不会在父(面板)窗口中渲染. 看来,这可以在WPF中完成,如 a>,但我不知道如何在Windows表单下进行此操作. 我正在寻找可以以这样的方式使用的解决方法: using (var p = new Process()) { p.StartInfo.FileName = @".\cli-process.exe"; p.StartInfo.Arguments = @"..."; p.StartInf
8 2024-04-26
编程技术问答社区
窗户外的油漆(和控制)
我认为,如果我使用图像,那将是最好的: 我需要我的控件可以以DateTimePicker日历为外面.我正在使用panelKalendar = new PanelDoubleBuffer();然后在方法中:void panelKalendar_Paint(object sender, PaintEventArgs e)我绘制所有东西.但这是绘画到窗口,并贝洛夫所有其他控件.如何获得在dateTimePicker中使用的"效果"? 解决方案 组合框的下拉列表(以及日历控件的下拉面板)是桌面的子窗口.这也是您要做的:将控制嵌套在无边界的形式中,并给出该形式的无效父母,以便它是顶级窗口,而不是应用程序窗口的孩子. 由于您的表单将是顶级窗口,因此需要在屏幕坐标中指定其位置,而不是您表格的本地坐标.您可以使用PointToScreen方法获得这些坐标. 其他解决方案 我恐怕您无法通过控制form的控制(这是您实际在做的),因为它将被截断由父(form)边界. imo
10 2024-04-25
编程技术问答社区
如何关闭主窗口
我正在在C#中创建一个WPF应用程序,我知道要关闭/打开一个窗口,您必须使用.close()和.show()方法,但由于某种原因,主屏幕,当何时出现的第一个窗口我启动了该应用程序,不会关闭. Home window1 = new Home(); window1.Close(); Name window2 = new Name(); window2.Show(); Window2出现,但是Window1不会关闭.有什么问题. 解决方案 大概是因为如果您关闭窗口,您将关闭应用程序. 如果您只想隐藏主窗口,请使用window.Hide()方法. 这是从Window.Close上的帮助中: 可以使用其中一个关闭窗口 几个,众所周知的,系统提供的 位于其标题栏中的机制, 包括: alt+f4. 系统菜单| 关闭. 关闭按钮. 也可以使用一个窗口关闭窗口 几种知名机制 在客户区
4 2024-04-25
编程技术问答社区
了解外部进程'窗口何时显示
如何获得与显示外部过程的主窗口有关的事件? 我使用 开始该过程 pi = new ProcessStartInfo(); [...] Process.Start(pi) 我想获得主窗口出现并调整大小并使用以下时刻进行移动: [System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)] internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint); 解决方案 我这样解决了: async void RepositionWindow(Process process) { while ((int)process.MainWindowHandle == 0)
12 2024-04-25
编程技术问答社区
窗口应用中带有ListView的ImageList中的图像被模糊了
当我在ImageList中设置一些产品的图像时,我将该图像主义者设置为ListView的大型imbailist,以显示图像. 那时,所有在listView中都模糊了.我不是这张图像所发生的一切. 所有图像质量都不错. 即使我设置了没有ListView的图像,也可以使用相同的图像维护质量. 这是我表格的图像布局,您可以看到图像质量被降低. 单击此处查看图像 foreach (var item in Data) { { il.Images.Add("test1", image); ListViewItem lvi = new ListViewItem(); lvOrderItem.Items.Add(lvi); lvOrderItem.Items[i].Name = item.ItemID.ToString(); i++; } } lvOrderItem.MultiSele
12 2024-04-25
编程技术问答社区
用Xamarin Forms Mac OS记住窗口位置
我知道Xcode支持自动架以记住窗口位置.我看到它自由记录. 当平台为macOS时,xamarin表格5呢? 这是我的一些代码,如果有帮助: public class AppDelegate : FormsApplicationDelegate { NSWindow window; public AppDelegate() { var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled; var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768); window = new NSWindow(rect, style, NSBackingStore.Buffered, false) { Title =
18 2024-04-25
编程技术问答社区
移动窗口的问题
我使用下面的代码移动窗口的表单,将工作正常移动,但问题是不透明度和关闭的.我想以这种方式进行工作:当我按下按钮不透明度= 0.5时,当我向上按钮不透明度= 1时,当左键向下时,我也会移动鼠标窗口时,当我单击表单时,则必须关闭表单. using System; using System.Runtime.InteropServices; using System.Windows.Forms; public partial class FormImage : Form { public const int WM_NCLBUTTONDOWN = 0xA1; public const int HT_CAPTION = 0x2; [DllImportAttribute( "user32.dll" )] public static extern int SendMessage( IntPtr hWnd, int Ms
6 2024-04-25
编程技术问答社区
如何禁用WPF窗口的测试?
我知道这是可能的 - 通过SetWindowLong API或WINGEL创建时WPF的Window类的托管属性,但我不知道该怎么做.我根本找不到如何设置窗口样式的信息,以便它无法接收有关鼠标的任何系统消息,任何单击都会通过 窗口的窗口. 有人知道该样式代码还是其他? 解决方案 设置窗口扩展样式的WS_EX_TRANSPARENT标志.它使窗口可透明鼠标. public const int WS_EX_TRANSPARENT = 0x00000020; public const int GWL_EXSTYLE = (-20); [DllImport("user32.dll")] public static extern int GetWindowLong(IntPtr hwnd, int index); [DllImport("user32.dll")] public static extern int SetWindowLong(IntPtr hwnd, int
12 2024-04-25
编程技术问答社区
在活动窗口中获得选定的项目
我正在使用C#来开发与剪贴板一起使用的应用程序,一个人想知道是否可以获取用户在当前窗口中选择的内容,无论它是什么窗口(例如,可以是Firefox,记事本等). 解决方案 我不确定您是否能够为此问题获得一般解决方案.看看此链接; 这篇文章的作者报告说,他们的解决方案在记事本中起作用,但在Wordpad或Word中不起作用.我对这个领域的了解不多,但我想这意味着有多种方法可以通过文本选择实现. . 我认为这也扩展到Control-C,而不仅仅是文本选择.我认为,根据使用的上下文,有不同的方法来处理复制命令. 例如,如果您在Windows中的对话框上按Control-C,它将复制文本,而无需手动选择它. 希望上面的链接对您有用.这似乎是一个有趣的问题. 编辑: 讲话太早了 - 刚找到此链接; 看起来正是您所追求的 - 希望有效. 其他解决方案 如果仅选择了某物,则不会出现在剪贴板中.但是,如果用户复制了他以前选择的某些对象,那么,是的
8 2024-04-25
编程技术问答社区
如何在C#中显示一个文件的系统菜单
我需要在我的应用程序中显示文件的系统菜单.此菜单与图像相同. ,我也想在此菜单中添加我的菜单元素. 我该怎么做? 谢谢 解决方案 您要寻找的是 shell上下文菜单.要在您的应用程序中显示此类菜单,您必须调用Windows API.这一点一点都不容易,但是对您来说幸运的是,有些人对此进行了刺伤. c#c​​#file browser codeproject上有一个shell上下文菜单,该文章也描述了. 然后 andreas johansson 一个单独的zip文件,您可以在这里下载. 我不知道如何使用它,甚至可以使用它.这是读者的练习.但是,如果您挖掘代码,您可以从中学到很多东西.
16 2024-04-24
编程技术问答社区
获取WPF窗口类的名称。C#
我需要从WPF窗口类获取字符串值?例如,我有一个MainworkSpace窗口类的实例,我想获得此" MainWorkspace"字符串.这个怎么做? 解决方案 string name = theWindow.GetType().Name;
18 2024-04-24
编程技术问答社区
ASP.net c# 避免两次打开同一个窗口
我正在开发一个Web应用程序.当用户在同一会话中打开同一窗口时,我对会话有一个小问题. 例如:现在,用户打开页面用户,他选择一个用户我将此对象存储在session(session [" user" =用户)中,如果他在另一个选项卡浏览器中打开同一窗口,并且他选择其他用户i覆盖会话值(session" [" user"] =用户)..... 我正在思考解决方案: 避免用户可以在同一PC中打开同一窗口 为用户打开的每个页面创建唯一的ID 您怎么看? 是更好的解决方案吗? 感谢您的帮助和最好的问候 解决方案 我认为您无法阻止用户在两个不同的选项卡或浏览器中打开同一页面. 因此,如果您需要确保每个窗口在您的应用程序中都是独特的"会话",则您需要某种独特的ID,也许存储在隐藏的HTML输入中. 其他解决方案 在这种情况下,您必须使用cookiieless会话 - 在system.web 中的web.config中
8 2024-04-23
编程技术问答社区
在ASP .NET Core 6.0中获取Windows用户名
我目前正在尝试将ASP.NET Core 5.0项目迁移到ASP.NET Core 6.0.窗口用户名在.NET 5.0上显示.但是,对于.NET 6项目窗口用户名始终使用匿名用户.我不确定我是否缺少任何代码.欢迎任何帮助/建议! .NET Core 6.0窗口用户 .net core 6.0窗口6.0窗口用户 旧.NET Core 5.0窗口用户 launchSettings.json "iisSettings": { "windowsAuthentication": true, "anonymousAuthentication": false, "iisExpress": { "applicationUrl": "http://localhost:55305", "sslPort": 44383 } } Program.cs using Microsoft.AspNetCore.Server.IISIntegration; using Microsoft.AspN
6 2024-04-23
编程技术问答社区
检测最小化窗口的钩子 C#
大家好 如何在C#中检测到用户单击外部程序的最小化按钮(例如记事本)? 谢谢 解决方案 这应该有效: public class myClass { [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowPlacement(IntPtr hWnd, ref WINDOWPLACEMENT lpwndpl); const UInt32 SW_HIDE = 0; const UInt32 SW_SHOWNORMAL = 1; const UInt32 SW_NORMAL = 1; const UInt32 SW_SHOWMINIMIZED = 2; const UInt32 SW_SHOWMAXIMIZED = 3;
6 2024-04-23
编程技术问答社区
如何在窗口栏中获取菜单?
我想知道如何在窗口栏中获取菜单,就像Visual Studio一样. 能够在左侧拥有文件,编辑等,并且标准最小化,最大化和关闭按钮在右侧是一件好事.这一点可能吗? 我尝试过设置Window WindowStyle="None"并在栏中添加自己的图标,但看起来不正确,但这是唯一的方法吗? 这是我目前的所拥有的. 解决方案 您必须使用 WindowChrome 类: WPF中的Window元素实际上是在非
4 2024-04-23
编程技术问答社区
在windows 10上计算第三方窗口标题栏按钮的总宽度
我对此的最初方法是使用GetSystemMetrics与SystemMetric.SM_CXSIZE一起使用的一些简单的数学,基于哪些按钮(时间3或times 1),通过WindowStyle. [DllImport("user32.dll")] private static extern int GetSystemMetrics(SystemMetric smIndex); 这在Windows 10上存在问题,其中计算出的宽度约为实际的70%.因此,宽度仅覆盖两个按钮 - 最大化并关闭. Windows 7和8.1很好,同一DPI设置,涵盖了所有按钮. 我在堆栈溢出方面检查了一些现有问题,并在2011年以来取得了最大的成功: 如何计算非 - wpf中的客户窗口大小? 不幸的是,建议的方法确实在Windows 8.1中起作用,它在Windows 10上计算0(最新版本(最新版本)推荐更新).有没有办法在7到10的所有操作系统上都可以使用吗? 代码是从上面
12 2024-04-23
编程技术问答社区