草庐IT

ts-container-tabs

全部标签

c# - 如何使程序不显示在 Alt-Tab 或任务栏中

我有一个程序需要在后台运行,当用户连接到RDPsession时,它会进行一些环境设置,然后启动一个程序。当程序关闭时,它会做一些内务处理并注销session。我目前的做法是让终端服务器启动这个应用程序。这是作为Windows窗体应用程序构建的,以防止控制台窗口显示:publicstaticvoidMain(){//(Snip...)DosomesetupworkProcessproc=newProcess();//(Snip...)Setuptheprocessproc.Start();proc.WaitForExit();//(Snip...)DosomehousecleaningN

c# - 如何在 C# 中使用低级键盘钩子(Hook)来抑制任务切换键(winkey、alt-tab、alt-esc、ctrl-esc)

谁能告诉我如何使用C#禁用任务切换键 最佳答案 我有完整的代码来禁用Windows键,Alt+Tab等等..现在我提供以下代码供其他人引用:/*CodetoDisableWinKey,Alt+Tab,Ctrl+EscStartsHere*///Structurecontaininformationaboutlow-levelkeyboardinputevent[StructLayout(LayoutKind.Sequential)]privatestructKBDLLHOOKSTRUCT{publicKeyskey;publicin

c# - List<T>.Contains() 是线程安全调用 - C#

我的理解是,如果您在C#中使用泛型列表(List),那么它可以支持多个并发读取器,但只能支持一个写入器。当您将编写器引入混合时,您还必须提供同步结构以使操作线程安全。List.Contains是否被视为读取操作?换句话说,如果我调用这个方法,我是否需要担心写入者可能同时写入这个列表? 最佳答案 是的,你应该。基本上,如果列表可能同时用于写入,我会同步任何操作。一般来说,我发现集合分为两类-一种是创建、初始化然后再也不会更改(线程安全),另一种是随着时间的推移而发生变化(非线程安全,所有访问都锁定)。

c# - 如何拦截捕获 WinForms 应用程序中的 TAB 键?

我正在trycatchWindows窗体应用程序中的Tab键并在按下时执行自定义操作。我有一个带有多个listView和按钮的表单,我已将表单的KeyPreview属性设置为true,当我按下除Tab之外的任何其他键时,我的KeyDown事件处理程序会被调用。但是使用Tab键时情况并非如此-即使在WndProc中我也没有收到WM_KEYDOWN消息。我是否需要将表单中的每个控件(其TabStop属性)设置为false?一定有比这更优雅的方法。谢谢。 最佳答案 这是类似于上面答案中给出的VB代码的C#代码...protectedove

c# - WPF Tab 键导航

我们有一个基于WPF.NET4.0C#的应用程序。我们从XML定义(不是XAML)构建了我们的用户界面,但在下面我们使用WPF来呈现UI。即在运行时,我们根据XML定义创建WPFUI。标签导航有问题。我们为文本和组合框控件设置了TabStop、TabIndex。但是选项卡导航不起作用。如何使选项卡导航适用于此布局? 最佳答案 WPF将整个UI树视为单个Tab范围。它并没有像您期望的那样被分解成更小的区域。这包括UserControls中的控件。例如,如果你有MyUserControl看起来像默认的Tab循环是TextBox1、Tex

c# - T[].Contains for struct 和 class 表现不同

这是一个后续问题:List.ContainsandT[].ContainsbehavingdifferentlyT[].Contains当T时表现不同是类和结构。假设我有这个结构:publicstructAnimal:IEquatable{publicstringName{get;set;}publicboolEquals(Animalother)//在这里,通用Equals如我所料被正确调用。但是对于类:publicclassAnimal:IEquatable{publicstringName{get;set;}publicboolEquals(Animalother){return

c# - List.Contains() 的循环实现看起来比内置的更快。是吗?如果是这样,为什么?

(Thisquestionarisesfromadiscussionthatstartedhere)我正在比较寻找true的时间List中的值使用List.Contains()与那些用于手卷循环。我看到的结果与其他人报告的结果不同。我已经在几个系统上试过了,在我试过的所有系统上,循环似乎快了2到3.5倍。这些系统的范围从使用.Net4运行XP的5年前笔记本电脑到最近运行Windows8和.Net4.5的PC。其他人报告了不同的结果,即List.Contains()与循环的速度大致相同或略快。这是我的测试代码。usingSystem;usingSystem.Collections.Gen

c# - NHibernate 3.1 NHibernate.Linq.NhRelinqQueryParser 异常 "Sequence contains more than one matching element"

我正在使用Nhibernate3.1/FluentNhibernate1.2当我使用CTRL+F5在Release模式下工作时,我没有遇到任何异常。但是在使用F5的Debug模式下会发生以下异常:此代码的控制台应用程序:_Session.Query().Where(x=>x.Bar=="bar").FirstOrDefault()异常(exception):System.TypeInitializationExceptionwasunhandledMessage=Thetypeinitializerfor'NHibernate.Linq.NhRelinqQueryParser'thre

c# - 使用 PLinq 列出 Contains()?

假设我有一个大列表ListlongList=newList(10000000)我想做以下查询:boolfound=longList.Contains(4345235234524245124L);有没有办法使用PLinq让每个线程只搜索列表的一小部分?我知道在这种情况下使用Dictionary或HashMap会更好。这正是我想了解的有关PLinq的信息,这个示例非常方便。 最佳答案 是的,使用boolfound=longList.AsParallel().Contains(4345235234524245124L);确实应该将其并行化

c# - 在不可预知的时间禁用和再次启用控件时维护 Tab 键顺序

所以让我警告你;我正在寻求一种方法来使整个hack工作更好一些。我承认这是一个hack,当然对整个问题的不同看法持开放态度。也就是说,如果我想截断代码并且我们有一个有点激进的发布日期,我需要尽快得到这个。因此,我无法立即进行大的更改,但我可以轻松地为该软件的第一个补丁进行更改。因此,欢迎短期和长期解决方案,但更可取的是短期解决方案(如果可能)。好的,问题来了;我有一个向机器人硬件设备发送命令的应用程序。发送需要等待的命令后(例如,需要未知时间量的物理运动),UI会进入“忙碌状态”。发生这种情况时,所有会发出另一个阻塞命令的控件都将被禁用,因为机器无法处理它们。当UI退出繁忙状态时,所有