Tag: 全局

在WPF中制作“全局”热键

我正在编写一个由主窗口中的三个用户控件组成的应用程序。 在其中一个用户控件中,有一个滑块需要通过键盘输入来控制。 左箭头应减小值,右键增加,依此类推。 我有这个工作,但只有当滑块有焦点时。 如果其他一些控件具有焦点,我根本无法使其工作。 是否可以定义“全局”热键? 触发相同事件或function的IE键,无论焦点在哪里? 希望我已经让自己清楚了……

Wpf将TextBlock绑定到App Property的成员

在我的WPF应用程序中,我希望全局使用对象“CaseDetails”,即所有窗口和用户控件。 CaseDetails实现了INotifyPropertyChanged,并具有属性CaseName。 public class CaseDetails : INotifyPropertyChanged { private string caseName, path, outputPath, inputPath; public CaseDetails() { } public string CaseName { get { return caseName; } set { if (caseName != value) { caseName = value; SetPaths(); OnPropertyChanged(“CaseName”); } } } protected virtual void OnPropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != […]

应用程序变量全局到Webgarden

我目前正在尝试使用HTML5canvas编写在线绘图程序。 问题是,我需要将当前canvas保存在全局某处。 静态变量可以工作,但它们不会在Webgarden中共享。 这导致创建两个不同的图。 我将不得不以某种方式创建一个共享的新应用程序对象。 我想我需要一个外部应用程序来保存它们。 1)如何用自己的应用程序替换应用程序对象? 因此,要么我必须创建自己的程序并使用远程调用它,要么使用ASP.NET会话状态服务器来获取应用程序变量。 我赞成会话状态服务器。 2)如何将会话状态服务器用于我自己的变量? 我该如何访问它? 我在互联网上搜索得很高,只找到了上面提到的想法,但没有帮助执行它们。 我主要使用VB.NET编写代码,但我也可以通过C#代码来了解它们。 关于我的申请的一点信息: 客户端有两个相互叠加的canvas对象。 我们用来绘制东西的顶部canvas对象,它下面的canvas对象最后保存了绘图。 当绘制某些内容时,它将以其base64表示forms发送到服务器。 (getDataUri) 服务器通过Graphics对象将此图形放在存储的Bitmap对象之上。 如何将更改分发给其他客户,我现在正在努力。 要么我转移完整的图片,要么转移提交的每一个更改。 这应该通过Server Push工作。 如果这不能完全运行,我将不得不保存和时间戳更改。 当前实现的链接,当前没有获取更改(但是它们被转移到服务器……有些问题,一些实例从webgarden的w3wp到达另一个实例)来自服务器: http ://anno.sinni800.ath.cx/Canvas/Collab

如何“全局”捕获对象实例中抛出的exception

我目前正在编写一个winforms应用程序(C#)。 我正在使用企业库exception处理块,遵循我所看到的相当标准的方法。 IE:在Program.cs的Main方法中,我将事件处理程序连接到Application.ThreadException事件等。 这种方法运行良好,可以处理应用程序exception情况。 在我的一个业务对象中,我在其中一个对象属性的Set访问器中抛出了各种exception set { if (value > MaximumTrim) throw new CustomExceptions.InvalidTrimValue(“The value of the minimum trim…”); if (!availableSubMasterWidthSatisfiesAllPatterns(value)) throw new CustomExceptions.InvalidTrimValue(“Another message…”); _minimumTrim = value; } 我对这种方法的逻辑(不将其转换为“何时抛出exception”讨论)只是业务对象负责检查业务规则约束并抛出可以冒泡并根据需要捕获的exception。 应该注意的是,在我的应用程序的UI中,我明确地检查公共属性被设置的值(并在那里显示友好的对话框等操作)但是抛出exception我也覆盖了我的业务对象的情况可能不被UI使用,例如:该属性正由另一个业务对象设置。 无论如何,我想你们都明白了。 我的问题是这些exception没有被连接到Application.ThreadException的处理程序捕获,我不明白为什么。 从其他阅读中我已经完成了Application.ThreadException事件,它处理“…捕获主GUI线程上发生的任何exception”。 是否在我的业务对象中引发exception而不是在此线程中? 我还没有创建任何新线程。 如果我按如下方式更新代码,我可以使用该方法,明确调用连接到Application.ThreadException的事件处理程序。 这是Enterprise Library示例中概述的方法。 然而,这种方法要求我包装try catch中抛出的任何exception,这是我试图通过使用“全局”处理程序来避免的。 try { if (value > MaximumTrim) throw new CustomExceptions.InvalidTrimValue(“The value of the minimum…”); if […]

如何在Windows窗体应用程序中创建全局error handling程序?

我认为有一个组件允许创建全局error handling。 例如,当发生不良事件时,我自己会抛出exception throw new ArgumentNullException(“playlist is empty”); 我如何在全球范围内捕获它?

Visual C#中的“全局变量”

我已经制作了Graph类,我想模拟一个分发网络。 图表100%工作。 但是,我想在我的所有应用程序中使用相同的结构/类! 例如:我有Form1显示模拟,但我想插入节点(例如)但我想在Form2中执行它! 由于数据总是在同一个类中,我可以使我的Graph实例全局,但C#不接受全局变量。 那么,我该如何解决这个问题呢? 有任何想法吗? 谢谢!

全局变量在一个函数中搜索不起作用

我按下button1后创建了一个在textbox1和textbox2中获取信息的程序。 如果你输入textbox3,如果你在那里写的与textbox1相同,按下button2后,它会将textbox2的文本放在label2.text中。 但问题是它不会将textbox2.text放入label2.text。 为什么? 这是代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } ozv[] a = new ozv[5]; int i = 0; private void button1_Click(object sender, EventArgs e) { a[i] = new ozv(); a[i].name = textBox1.Text; a[i].id = int.Parse(textBox2.Text); i++; } private void button2_Click(object sender, EventArgs e) { for (int j […]

如何在C#中存在全局函数?

当在一个类中定义所有内容时,如何在C#中存在全局函数? 我正在MSDN阅读OpCodes.Call的文档,并惊讶地看到以下措辞, 元数据令牌携带足够的信息以确定调用是静态方法,实例方法,虚拟方法还是全局函数。 全球function? 它存在于C#中吗? (它绝对不是指static方法,因为它与全局函数一起明确列出)。

Global Hook Keylogger问题

它将密钥记录到文本框中,因此它是安全的。 问题问题是,当我在虚拟机或我的朋友笔记本电脑上运行它时,它在按下一定数量的键(随机)后挂起。它在我的运行完全正常。 http://sofzh.miximages.com/c%23/29o1im8.jpg class GlobalKeyboardHook { #region Definition of Structures, Constants and Delegates public delegate int KeyboardHookProc(int nCode, int wParam, ref GlobalKeyboardHookStruct lParam); public struct GlobalKeyboardHookStruct { public int vkCode; public int scanCode; public int flags; public int time; public int dwExtraInfo; } const int WM_KEYDOWN = 0x100; const int WM_KEYUP = 0x101; const int […]