在开发平板电脑时,如何确定用户是否点击了鼠标或笔?

如何检查用户是否在C#控件上用鼠标或笔式触控笔单击。 例如。 如果用户点击带有笔按钮的文本框,那么我想要一个输入面板弹出,但如果他用鼠标点击则不应该。 那么我该如何检查他是使用鼠标还是笔? 编辑:使用Windows窗体而不是WPF

亚马逊产品广告API C#

有人可以告诉我使用亚马逊产品广告API的C#例子,例如查找项目。 由于变化,我发现的所有现在都不起作用。 谢谢! 编辑: 最流行的错误是“邮件正文序列化失败:ItemSearchRequest1无法创建临时类”

Owin重启后,SignalR客户端重新连接,但未发布消息

建立: SignalRServer控制台应用程序:Microsoft.AspNet.SignalR.SelfHost v2.0.3 SignalRClient控制台应用程序:Microsoft.AspNet.SignalR.Client v2.0.3 .NET 4.5.1 我做了以下事情: 点击进入客户端,在服务器和客户端再次收到消息 通过点击服务器控制台中的任意键来处理服务器 通过点击服务器控制台中的任意键重新启动服务器 客户端重新连接 点击进入客户端,在服务器上收到消息,但从未再次到达客户端 我希望再次在客户端收到该消息。 我怀疑它与自托管有关,因为我试图在运行IIS的Web应用程序中成功运行客户端。 有任何想法吗? 更新:如果服务器控制台进程被终止并重新启动,则可以重新连接并再次检索消息。 服务器代码 using System; using System.Threading.Tasks; using Microsoft.AspNet.SignalR; using Microsoft.Owin.Hosting; using Owin; namespace SignalRServer { internal class Program { private static void Main(string[] args) { const string url = “http://localhost:8081”; while (true) { using (WebApp.Start(url)) { Console.WriteLine(“Server running on […]

如何在Orchard中运行预定任务?

我必须每5个小时运行一次自动化工作。 我发现了这篇关于如何使用IScheduledTaskHandler和IScheduledTaskManager创建计划任务的post。 使用Orchard CMS的计划任务 我复制了相同的代码,我在Process函数中添加了我的服务调用。 它汇编很好。 但我不确定是否必须“启动”此计划任务,如Windows服务启动。 在我构建解决方案后它是否会自动获取? 如果我想在5个小时内完成这项工作,时钟何时开始计时? 如果我想停止/暂停,我该怎么做? 谢谢。 编辑: 如果我尝试使用任务处理程序启用自定义模块,我会收到exception。 exception详细信息:System.ArgumentNullException:值不能为null。 参数名称:source Line 241: var shellContext = _shellContexts.FirstOrDefault(c => c.Settings.Name == settings.Name); 源文件:\ orchard-1.4 \ src \ Orchard \ Environment \ DefaultOrchardHost.cs行:241 _shellContexts即将出现。 如果我从项目/模块中删除任务处理程序类,一切正常。 这是任务处理程序代码。 public class ScheduledTaskHandler : IScheduledTaskHandler { private const string TaskType = “MyTaskUniqueID”; private readonly IScheduledTaskManager _taskManager; private […]

通过HTTP使用MSMQ。 如何解决队列?

我目前正在尝试将MSMQ与C#和.NET一起使用以实现IPC。 我试图了解它是如何工作的,我对访问MSMQ队列时路径名和格式名之间的差异感到很困惑。 我在以下post中发现了一些类似的问题: MSMQ通过HTTP调用未到达目标队列 如何设置MSMQ服务器,以便可以通过Internet访问它 如何通过相应的WCF绑定使用MSMQ over http? 但是,他们都使用MSMQ和WCF,我现在不想使用WCF。 我想要实现的目标如下: 客户端:通过http将数据发送到队列。 服务器:通过http从队列接收数据。 我的观点是,我希望服务器,客户端和队列都托管在可能不同的计算机中。 (现在我正在测试同一台机器上的所有东西)。 这里我有以下代码,它们展示了我的想法: 首先,我创建队列: if(!System.Messaging.MessageQueue.Exists(@”.\Private$\SimplestExamplePrivateQueue”); System.Messaging.MessageQueue.Create(@”.\Private$\SimplestExamplePrivateQueue”); 客户代码: 然后,在客户端,我有一个回调函数,当用户按下按钮以发送消息时调用该函数。 private void button1_Click(object sender, System.EventArgs e) { try { // Create a connection to the queue System.Messaging.MessageQueue mq = new System.Messaging.MessageQueue(@”FormatName:Direct=http://localhost/msmq/Private$/SimplestExamplePrivateQueue”); // Create a point object to send Point myPoint = new Point (Convert.ToInt32(textBox2.Text), Convert.ToInt32(textBox3.Text)) […]

将枚举值与本地化字符串资源相链接

相关: 从枚举属性获取枚举 我希望以最可维护的方式绑定枚举,并将它与关联的本地化字符串值相关联。 如果我把枚举和类放在同一个文件中,我觉得有些安全,但我必须假设有更好的方法。 我也考虑过将enum名称与资源字符串名称相同,但我担心我不能总是在这里强制执行。 using CR = AcmeCorp.Properties.Resources; public enum SourceFilterOption { LastNumberOccurences, LastNumberWeeks, DateRange // if you add to this you must update FilterOptions.GetString } public class FilterOptions { public Dictionary GetEnumWithResourceString() { var dict = new Dictionary(); foreach (SourceFilterOption filter in Enum.GetValues(typeof(SourceFilterOption))) { dict.Add(filter, GetString(filter)); } return dict; } public String GetString(SourceFilterOption […]

entity frameworkEF4.1 – 存储过程“无法在容器中找到”

我的数据库中有一个SP。 对于EF4.1,使用DbContext API 。 从数据模型导入函数后,对存储过程的引用在我的开发环境中正常工作。 但是当发布到服务器时,它失败并显示如下消息:在容器’TallyJ2Entities’中找不到FunctionImport’SqlSearch’。 所有其他数据访问工作正常。 似乎在生产中,EF4配置的某些方面被遗忘了。 数据库是相同的,两个服务器都是SQL 2008(本地是Express SP1 10.50.2500,主机是Express RTM 10.50.1600)。 我甚至将EDMX编辑器直接指向生产数据库,并进行了更新。 结果在开发中运行良好,但在服务器上以相同的方式失败。 其他类似的问题在这里没有帮助。 其他人似乎有类似的问题在这里输入链接描述 。 有什么建议? 更新:我发现在调试模式下部署主机时问题就消失了! 在我的DbContext派生类中,我把这段代码: ((IObjectContextAdapter)this).ObjectContext.MetadataWorkspace var findFunction = metadataWorkspace.GetItems(DataSpace.SSpace) .SelectMany(gi => gi.MetadataProperties) .Where(m=> Equals(m.Value, “SqlSearch”)) .Select(m => “Found {0}”.FilledWith(m.Value)) .FirstOrDefault(); 当我记录findFunction结果时,事实certificate服务器(在发布模式下)没有找到它,而在开发中,它被找到了。

连接两个下拉列表mvc 4

我有一个preepay产品销售。 经销商可以有经销商经销商可以为每个产品设定价格,并且每个产品都有最大限度的优惠。 现在我喜欢在销售页面中我的mvc c#site项目中有两个DropDowmList当我从第一个ddl chack产品时我想要我的其他ddl(他要销售多少产品)从我的db连接。 编辑:例如一个经销商有三个产品销售:productA – 5个单位销售productB – 20 productC – 15当他在第二个ddl或textboxForNumber(min,max)上选择productB时,他应该看到1到20的范围 我尝试创建一个这样的新模型: public int ProductObligoByDealerID { get; set; } public int DealerID { get; set; } public virtual Dealer Dealer { get; set; } public int ProductID { get; set; } public virtual Product Product { get; set; } public uint MonthObligo { […]

单击winform应用程序中的按钮后,如何将焦点返回到上次使用的控件?

我正在使用Windows窗体应用程序(C#),用户在表单中输入数据。 在编辑表单中的数据时,用户可以单击表单上的其中一个按钮来执行某些操作。 默认情况下,焦点转到单击的按钮,因此用户必须单击返回要编辑的控件才能继续修改表单上的数据。 我需要做的是在处理完按钮点击事件后将焦点返回到最后编辑的控件。 这是一个示例截图,说明了我在说什么: 用户可以在textbox1,textbox2,textbox3等中输入数据,然后单击按钮。 我需要按钮将焦点返回到最近在单击按钮之前具有焦点的控件。 我想知道是否有人比我想出的更好地实现这个function。 这就是我现在正在做的事情: public partial class Form1 : Form { Control _lastEnteredControl; private void textBox_Enter(object sender, EventArgs e) { _lastEnteredControl = (Control)sender; } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(“Do something here”); _lastEnteredControl.Focus(); } } 所以我们这里基本上是一个指向最后输入控件的类变量。 表单上的每个文本框都已设置,因此当控件获得焦点时会触发textBox_Enter方法。 然后,当单击该按钮时,焦点将返回到单击按钮之前具有焦点的控件。 有人有更优雅的解决方案吗?

FileLoadException未被用户代码处理

我正在为我的MVC-4应用程序设置API,当我在Globals.asax.cs中取消注释这一行时: WebApiConfig.Register(GlobalConfiguration.Configuration); 当我重新启动项目时收到此exception: An exception of type ‘System.IO.FileLoadException’ occurred in mscorlib.dll but was not handled in user code Additional information: Could not load file or assembly ‘Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 我该怎么办? 更新1(截图) 据我所知,JSON.Net看起来已正确安装。 更新2 当在Globals.Asax中注释掉API路由时,JSON.Net实际上似乎有效。 […]