草庐IT

c# - 在不使用 Windows 窗体中的事件的情况下检测是否按下了 Shift 键?

我需要能够检测到是否按住了Shift键,但我不想使用事件或全局变量来确定这一点。C#中是否有一个API可以让您询问当前按下了哪些键而不是使用事件? 最佳答案 if((Control.ModifierKeys&Keys.Shift)!=0)如果另一个修饰键也按下(例如,Ctrl+Shift),这也将是true。如果要检查是否仅按下Shift而没有任何其他修饰符,请使用if(Control.ModifierKeys==Keys.Shift)请注意,如果另一个非修饰符按下(例如,Shift+A),即使这将是true。如果您想检查是否按下了

c# - 导入 Windows 窗体 (C#)、Visual Studio 2012

尝试将现有Windows窗体添加到VS2012WinForm项目中,我进入“添加/现有项目...”,然后导入:MyForm.cs、MyForm.designer.cs、MyForm.resx这曾经在早期版本的VS中有效。(我可能需要调整命名空间。)在VS2012中,出于设计器的目的,MyForm.designer.cs和MyForm.resx现在不与表单相关联;即它们在解决方案资源管理器中显示为单独的文件条目,而不是嵌套在MyForm下。双击MyForm会显示一个没有错误消息的空窗体(无控件)。项目编译运行OK。但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,表单文件正确

c# - ProgressBar 在 Windows 窗体中很慢

我使用的是WindowsVista和VisualStudio2010。创建一个.Net4Windows窗体应用程序。在默认表单上放置一个进度条,添加代码来处理表单加载事件并在那里执行progressBar1.Value=100;。开始调试,您会看到一个动画,在大约半秒内将进度条移动到100。我的项目需要2个进度条。一个是“全局进度”,第二个是“当前步骤进度”,所以第二个从0到100,然后回到0进行下一步。问题是一些快速步骤的进度条很慢,它永远不会达到100,而且看起来很奇怪。有没有办法摆脱那个动画?在WPF中没问题,但我宁愿继续使用Windows窗体。 最佳

c# - 在 Windows 窗体的 HttpClient 类中使用 DelegatingHandler - 尚未设置内部处理程序

首先,我收到的错误消息如下:尚未设置内部处理程序我正在编写一个自定义消息处理程序来处理我的API的身份验证cookie超时。例如,如果我的代码库调用API并收到401,那么它应该重试登录url以获取更新的cookie。我计划按如下方式完成此操作:publicclassCkApiMessageHandler:DelegatingHandler{privatereadonlystring_email;privatereadonlystring_password;privateconststring_loginPath="Account/Login";publicCkApiMessageHa

c# - 窗体在 C# 中失去焦点

这可能是一个简单的C#问题,但我需要一个解决方案。我有两个表单,form1和form2,form1有一个按钮。单击按钮时,我想显示form2。当form2失去焦点时,我想隐藏它(form2)。我怎样才能做到这一点?我尝试订阅form2的LostFocus事件,但没有成功。请帮我解决这个问题。注意——我使用.Net2.0 最佳答案 使用Deactivate事件处理器 关于c#-窗体在C#中失去焦点,我们在StackOverflow上找到一个类似的问题: http

c# - 如何在 Windows 窗体 (C#) 中设置列​​表框的确切高度?

我在设置列表框的高度时遇到了一些困难。这样的代码...listbox1.Height=some_number;...仅适用于某些数字。似乎列表框的高度可能只是其元素高度的乘积。有没有办法“覆盖”这种行为? 最佳答案 尝试,listbox1.IntegralHeight=false;listbox1.Height=some_int_number; 关于c#-如何在Windows窗体(C#)中设置列​​表框的确切高度?,我们在StackOverflow上找到一个类似的问题:

c# - 使用打开文件对话框将位图图像加载到 Windows 窗体中

我需要使用打开文件对话框在窗口形式中打开位图图像(我将从驱动器加载它)。图片应适合图片框。这是我试过的代码:privatevoidbutton1_Click(objectsender,EventArgse){vardialog=newOpenFileDialog();dialog.Title="OpenImage";dialog.Filter="bmpfiles(*.bmp)|*.bmp";if(dialog.ShowDialog()==DialogResult.OK){varPictureBox1=newPictureBox();PictureBox1.Image(dialog.Fi

c# - 将窗体窗口附加到 C# 中的另一个窗口

我想将一个表单附加到另一个窗口(另一个进程的)。我尝试使用[DllImport("user32.dll",SetLastError=true)]privatestaticexternIntPtrSetParent(IntPtrhWndChild,IntPtrhWndNewParent);setParentWindow(myWindowHwnd,newParentHwnd);在这样做时,我的表单会被附加,但也是不可见。问题"Attachwindow.."解决WPF窗口的这个问题,主要是通过使用HwndSourceParametersparameters=newHwndSourcePara

c# - 在同一 Windows 窗体应用程序的实例之间拖放

我创建了一个小型Windows窗体测试应用程序来尝试一些拖放代码。该窗体由三个PictureBoxes组成。我的目的是从一个PictureBox中抓取一张图片,在拖动操作期间将其显示为自定义光标,然后将其拖放到另一个PictureBox目标上。从一个PictureBox到另一个PictureBox只要它们在同一个表单上就可以正常工作。如果我打开同一个应用程序的两个实例并尝试在它们之间拖/放,我会收到以下神秘错误:Thisremotingproxyhasnochannelsinkwhichmeanseithertheserverhasnoregisteredserverchannelst

c# - 如何修复 WinForms 窗体中的闪烁?

我不断地绘制框架,我需要表格不闪烁。我该如何实现?publicpartialclassForm1:Form{Image[]dude=newImage[3];staticintrenderpoint=0;intlastimage=0;publicForm1(){dude[1]=newBitmap(@"snipe1.bmp");dude[0]=newBitmap(@"snipe0.bmp");InitializeComponent();}privatevoidForm1_Shown(objectsender,EventArgse){MainLoop();}privatevoidMainLo