Tag: 输入

允许Enter键登录asp.net?

我有一个标准的asp:登录控件: 在Internet Explorer中,按Enter键不提交表单,但IE会快速向我发出10次哔声。 在其他浏览器中,Enter完全正常,并按照您的期望提交论坛。 我已经看到了这个问题,但只有当你有一个实际的表单元素和一个实际的按钮,而不是整个登录控件时才会有效。 为什么它在IE中被阻止(为什么有10次出于某种原因)? 有解决方法吗?

如何防止C#中输入无效导致崩溃?

我写的程序设置为只接受正整数作为输入。 如果用户输入了一个字母,那么它就会崩溃。 负整数不会导致任何问题,尽管它对我的程序如何运作并不“有效”。 我想做的是: 防止程序从无效输入中崩溃。 如果输入无效,则显示错误消息 让程序从中断处继续,而不影响程序的其余部分。 此外,我的计划的一部分涉及分裂。 有没有办法阻止用户输入全零? 这是在C# 我的代码: using System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text; namespace OverallCalculator { class Program { static void Main(string[] args) { bool shouldContinue; do { Console.WriteLine(“Enter Striking Level: “); string striking = Console.ReadLine(); Console.WriteLine(“Enter Grappling Level: “); string grappling = Console.ReadLine(); Console.WriteLine(“Enter Submission Level: “); string submission = Console.ReadLine(); […]

使用自动化框架在textfield / textbox上设置文本并获取更改事件

我想使用Mircosoft UI Automation框架在textfield / textbox元素上设置文本,这意味着在ControlType.Edit或ControlType.Document的AutomationElement 。 目前我正在使用TextPattern从其中一个AutomationElements获取文本: TextPattern tp = (TextPattern)element.GetCurrentPattern(TextPattern.Pattern); string text = tp.DocumentRange.GetText(-1).Trim(); 但是现在我想在AutomationElement设置一个新文本。 我在TextPattern类中找不到这个方法。 所以我正在尝试使用ValuePattern但我不确定这是否是正确的方法: ValuePattern value = element.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern; value.SetValue(insertText); 还有其他方法来设置文本值吗? 另一个问题是如何在Edit / Document元素上更改文本时获取事件? 我尝试使用TextChangedEvent但是在更改文本时我没有触发任何事件: AutomationEventHandler ehTextChanged = new AutomationEventHandler(text_event); Automation.AddAutomationEventHandler(TextPattern.TextChangedEvent, element, TreeScope.Element, ehTextChanged); private void text_event(object sender, AutomationEventArgs e) { Console.WriteLine(“Text changed”); }

如何让IsKeyDown方法在C#中工作

我无法弄清楚如何让这个方法工作: System.Windows.Input.Keyboard.IsKeyDown(System.Windows.Input.Key) 对象浏览器说明如下: public static bool IsKeyDown(System.Windows.Input.Key key) System.Windows.Input.Keyboard的成员 摘要: 确定是否按下指定的键。 参数: key:指定的密钥。 返回值: 如果key处于down状态,则为true; 否则,是的。 好的,所以它是键盘的成员,对吧? 我使用了以下代码:Keyboard test = new Keyboard(); 但是当我输入测试然后输入点时,IsKeyDown不是一个选项。 唯一的选项来自Windows.Forms成员。 我在这里想念的是什么? 谢谢。

如何在.Net控制台应用程序中设置默认输入值?

如何在.net控制台应用程序中设置默认输入值? 这是一些伪装代码: Console.Write(“Enter weekly cost: “); string input = Console.ReadLine(“135”); // 135 is the default. The user can change or press enter to accept decimal weeklyCost = decimal.Parse(input); 当然,我不希望它如此简单。 我打算不得不做一些低级的,无管理的东西; 我只是不知道如何。 编辑 我知道我可以用默认值替换没有输入。 这不是我要问的问题。 我试图了解实现我所描述的行为所涉及的内容:为用户提供可编辑的默认值。 我也不担心输入validation; 我的问题与此无关。

在C#中模拟键盘输入

我需要知道如何模拟键W , S , A , D键盘输入。 我没有使用SendKeys ,也没有使用InputSimulator库而没有修复。 我正在尝试做的是将游戏(战场,自然选择等新的FPS游戏)等应用程序注册为真正的击键。 我正在尝试创建一个虚拟控制器程序,其中外部控件将注册为这些游戏的键盘输入。 有没有办法手动模拟键盘输入,就像有这样的东西? [DllImport(“user32.dll”, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, uint dx, uint dy, int cButtons, uint dwExtraInfo);

C#如何循环用户输入,直到输入的数据类型正确?

如何让这段代码循环询问用户输入直到int.TryParse() 成功了吗? //setX public void setX() { //take the input from the user string temp; int temp2; System.Console.WriteLine(“Enter a value for X:”); temp = System.Console.ReadLine(); if (int.TryParse(temp, out temp2)) x = temp2; else System.Console.WriteLine(“You must enter an integer type value”); ‘need to make it ask user for another input if first one was of invalid […]

如何将keypresses发送到正在运行的流程对象?

我正在尝试使C#启动一个应用程序(在这种情况下是开放式办公室),并开始发送该应用程序按键,使其看起来好像有人正在打字。 理想情况下,我可以发送一个正在运行的开放式办公室流程来处理字母“d”的按键,然后打开办公室就会在纸上输入d。 任何人都可以根据具体情况给我指点吗? 我试图做以下事情: p = new Process(); p.StartInfo.UseShellExecute = true; p.StartInfo.CreateNoWindow = false; p.StartInfo.FileName = processNames.executableName; p.Start(); p.StandardInput.Write(“hello”); 但这并没有给我带来预期的效果 – 我没有看到文本在开放式办公室输入。

如何将键而不是字符发送到进程?

System.Diagnostics.Process公开名为StandardInput的StreamWriter,据我所知,它只接受字符。 但我也需要发送击键,并且一些击键不能很好地映射到角色。 我该怎么办?

检测是否在C#中按下任何键(不是A,B,但是任何键)

[编辑3]我使用“奇怪”版本“解决了它”。 至少对于最重要的键。 这对我的情况来说是足够的,我想检查ALT和ALT + A是不一样的(从而确保没有按下A)。 不完美,但已经有很多时间来解决这个小问题了。 无论如何,感谢所有答案…… [编辑3] [编辑4]由于280Z28 [/ EDIT 4]解决了它更清洁 我知道如何检查修改键以及如何测试单个键。 问题是,我想检查是否按下任何键。 以下方法似乎“奇怪”:-) 用C#编写的WPF应用程序 if (Keyboard.IsKeyDown(Key.A)) return true; if (Keyboard.IsKeyDown(Key.B)) return true; if (Keyboard.IsKeyDown(Key.C)) return true; 我知道这是一个枚举,所以我想到了一个循环,但是使用的“最大数字”是什么。 这可能吗? 顺便说一句,这是一个非常特殊的情况,通常我会使用一个事件,但在这种情况下我必须这样做。 不幸的是,没有“列表”Keyboard.CurrentlyDownKeys。 至少我没有看到它。 谢谢,克里斯 编辑:好的,因为它似乎是一个更大的交易,这里的原因是:我已经定义了一个“KeySet”,它作为自定义函数的DictionaryKey。 如果有人点击某个元素,则包装器会遍历字典并检查是否有任何预定义的“Keysets”处于活动状态。 这允许我定义简单的触发器,例如,如果按下ALT + A + B,则运行此function。 另一个选项是例如,如果按下ALT + STRG + A,则运行此function(在鼠标单击WPF元素期间)。 当前实现的唯一“问题”,如果我定义一个不包含任何REAL键的Keyset,如按下ALT则运行,如果按下ALT + A,也会触发它。 哦,在写这篇文章时,我意识到还有另一个问题。 如果按下ALT + A + B […]