小编Mor*_*sbo的帖子

确定在.NET中单击了哪个鼠标(多个鼠标设备)

我想检测点击我的触控板的时间!

我通常使用USB鼠标,所以我不使用触摸板.相反,我希望能够在单击触摸板时在.NET中执行操作.通过这种方式,我可以将它用作快捷方式:轻轻一击即可.

这是可能的,如果是的话,任何线索如何?我更喜欢它是否可以在VB.NET或C#中工作.

我的理论是,我必须做一个鼠钩,然后以某种方式确定点击来自哪个设备.如果确定点击来自触摸板,则取消点击并执行任务().

谢谢!

*编辑* 嗯,它已经"解决了",有点像:)奇怪的是,Synaptics几天前发布了他们最新的触摸板驱动程序和软件以及一些新的功能.由于我的笔记本电脑有一个synaptics触摸板,我试用了该软件,有趣的是,内置了指定触控板上的点击以执行操作的功能.

所以已经实现了所需的功能,没有一行代码(我自己的代码:).

回答Adrian的链接到RawInputSharp库.我昨天做了修补,我90%肯定可以用于此目的,如果笔记本电脑没有synaptics触控板.

c# vb.net

11
推荐指数
1
解决办法
2530
查看次数

Linq OrderBy on generic list返回不完全按字母顺序排列的列表

我正在尝试使用对象Name属性对通用的对象列表进行排序.我使用LINQ并且以下表达式不太起作用:

var query = possibleWords.OrderBy(x => x.Name.ToLower()).ToList();
foreach (Word word in query) //possibleWords.OrderBy(word => word.Name))
   {
            listWords.Items.Add(word.Name);
   }
Run Code Online (Sandbox Code Playgroud)

"query"现在应该包含一个有序项列表,如果我理解正确并且项应该添加到名为listWords的列表框中.

但输出是这样的:

http://screencast.com/t/s1CkkWfXD4(对不起URL链接,但是SO已经以某种方式锁定了我的帐户,我显然无法使用这个新帐户发布图像).

列表框几乎按字母顺序但不完整.出于某种原因,"aa"和"aaaa"排在最后.可能是什么原因,以及如何解决它?

提前致谢.

按要求详细说明

此代码在Visual Studio中输入并执行时:

        List<Word> words = new List<Word>();

        words.Add(new Word("a"));
        words.Add(new Word("Calculator"));
        words.Add(new Word("aaa"));
        words.Add(new Word("Projects"));
        words.Add(new Word("aa"));
        words.Add(new Word("bb"));
        words.Add(new Word("c"));

        IEnumerable<Word> query = words.OrderBy(x => x.Name.ToLower()).ToList();

        foreach (Word word in query)
        {
            Console.WriteLine(word.Name);
        }
Run Code Online (Sandbox Code Playgroud)

给我以下输出:

a
bb
c
Calculator
ccc
Projects
aa
aaa
Run Code Online (Sandbox Code Playgroud)

这没有正确排序:第一个"a"是正确的,但随后的"aa"和"aaa"条目被发送到列表的底部.

我不太了解字符集和编码,所以我可能在这里犯了一个菜鸟错误.但在那种情况下,我不知道那可能是什么,我会有点疑惑为什么第一个"a"正确排序,但第二个和第三个"aa"和"aaa"不是!

进一步阐述 - 词类

[Serializable()]
public class Word
{
    [System.Xml.Serialization.XmlAttribute("Name")] …
Run Code Online (Sandbox Code Playgroud)

c# linq

7
推荐指数
2
解决办法
5816
查看次数

包含特定字符的记录列表的最佳SQL查询?

我目前正在使用相对较大的SQL Server 2000 DB.它的大小为80 GB,拥有数百万条记录.

我目前需要返回一个包含一系列非法字符中至少一个的名称列表.非法字符只是指由客户定义的任意字符列表.在下面的例子中,我使用问号,分号,句号和逗号作为非法字符列表.

我最初想要做一个与正则表达式一起工作的CLR函数,但是因为它是SQL server 2000,我猜这是不可能的.

目前我这样做了:

select x from users
where 
columnToBeSearched like '%?%' OR
columnToBeSearched like '%;%' OR
columnToBeSearched like '%.%' OR
columnToBeSearched like '%,%' OR
otherColumnToBeSearched like '%?%' OR
otherColumnToBeSearched like '%;%' OR
otherColumnToBeSearched like '%.%' OR
otherColumnToBeSearched like '%,%'
Run Code Online (Sandbox Code Playgroud)

现在,我不是一个SQL专家,但我觉得上面的查询效率很低.在具有数百万条记录的表中进行8次多通配符搜索,似乎可能会严重降低系统速度.虽然它似乎在测试服务器上运行良好,但我得到了"这必须完全错误"的氛围.

由于我最终需要在实时生产服务器上执行此脚本,我希望能够获得良好的性能,以免堵塞系统.可能需要稍后扩展该脚本以包含更多非法字符,但这不太可能.

总结一下:我的目标是获取一个记录列表,其中两列中的任何一列都包含客户定义的"非法字符".数据库是实时且庞大的,所以我想要一种有效的方法,因为我相信上面的查询会非常慢.

谁能告诉我实现结果的最佳方法?谢谢!

/莫滕

sql t-sql sql-server sql-server-2000

2
推荐指数
1
解决办法
1万
查看次数

"尝试使用不存在的父元素获取元素时,"对象引用未设置为对象的实例"

我最近开始使用Linq,我目前正在尝试使用它来解析严重嵌套的XML文件(我无法控制).但是,在尝试运行以下语句时,我得到"对象引用未设置为对象的实例"错误.

问题出在"城市"一栏.城市房产的数据来自xml结构前景/ contactinfo/City/Answer.

但由于该字段不是强制性的,因此有时XML不具有城市/答案节点.所以我得到错误,因为"city"节点不存在,我正试图在其上调用".Element()".我找到了很多解决这个问题的方法,当它只有一个节点级别下来时(即如果我需要的数据是在城市中,而城市是唯一缺少的节点).

但是当它降低两级时(即试图得到一个不存在的节点的子节点),我一直无法找到任何解决方案.

希望这个问题足够明确.

最好的问候,莫滕

            var prospects = (from prospect in xdoc.Descendants("PROSPECT")
                        select new Prospect {
                            ProspectID = (string) prospect.Element("PROSPECTINFO").Element("PROSPECT_ID"),
                            Name = (string) prospect.Element("PERSONALINFO").Element("FIRSTNAME")+ " " + prospect.Element("PERSONALINFO").Element("SURNAME"),
                            address = (string) prospect.Element("CONTACTINFO").Element("ADDRESSLINE1").Element("ANSWER"),
                            zipCode = (string)prospect.Element("CONTACTINFO").Element("POSTALCODE").Element("ANSWER").Value,
                            City = (string) prospect.Element("CONTACTINFO").Element("CITY").Element("ANSWER"),                                
                        }).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-xml

0
推荐指数
1
解决办法
886
查看次数

标签 统计

c# ×3

linq ×2

linq-to-xml ×1

sql ×1

sql-server ×1

sql-server-2000 ×1

t-sql ×1

vb.net ×1