场景:托管UserControl的(小)表单.
绘图:每当UserControl引发悬停事件时,以工具提示方式显示一些(图形)信息.当用户移动鼠标时,再次将它们淡出.
注意:我想显示多个"工具提示",每个工具提示都是UserControl,以图形方式显示信息.不只是黄色框中的文字!另外,我正在使用Windows.Forms库.
这是我到目前为止:
private void myControl_Hovered(object sender, MyEventArgs e)
{
var tooltip = new MyToolTip();
Controls.Add(tooltip);
tooltip.UpdateDisplay(e.Data);
tooltip.Show();
}
Run Code Online (Sandbox Code Playgroud)
但它出现在后台(我可以处理),遗憾的是,仅限于窗口......
编辑:这是我最终做的...
我无法ToolTip
使用.NET提供的控件工作.这主要是因为我试图在用户绘制的控件中显示"热点"的工具提示(想想功能点的图,显示点的其他项).ToolTip控件真的只想显示用户第一次进入控件时 - 手动显示它似乎不起作用.我试过了.漫长而艰辛.
因此,此类ToolTipWindow
可用于在无框窗口中显示控件.我添加了一个Offset
属性,因此它可以显示在当前鼠标位置的偏移处.
/// <summary>
/// A tooltip class to display some information from a control.
/// </summary>
internal class ToolTipWindow: Form
{
/// <summary>
/// The offset from the mouse pointer to show the window at.
/// </summary>
public Point Offset { get; set;}
internal ToolTipWindow(Control …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码匹配Scala 2.8(beta 1)中的选项组:
import scala.xml._
val StatementPattern = """([\w\.]+)\s*:\s*([+-])?(\d+)""".r
def buildProperty(input: String): Node = input match {
case StatementPattern(name, value) => <propertyWithoutSign />
case StatementPattern(name, sign, value) => <propertyWithSign />
}
val withSign = "property.name: +10"
val withoutSign = "property.name: 10"
buildProperty(withSign) // <propertyWithSign></propertyWithSign>
buildProperty(withoutSign) // <propertyWithSign></propertyWithSign>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.匹配可选正则表达式组的正确方法是什么?
我有一个类,我需要能够序列化到SQLServer会话变量并通过WCF服务可用.我已将其声明如下
namespace MyNM
{
[Serializable]
[DataContract(Name = "Foo", Namespace = "http://www.mydomain.co.uk")]
public class Foo : IEntity, ISafeCopy<Foo>
{
[DataMember(Order = 0)]
public virtual Guid Id { get; set; }
[DataMember(Order = 1)]
public virtual string a { get; set; }
DataMember(Order = 2)]
public virtual Bar c { get; set; }
/* ISafeCopy implementation */
}
[Serializable]
[DataContract(Name = "Bar ", Namespace = "http://www.mydomain.co.uk")]
public class Bar : IEntity, ISafeCopy<Bar>
{
#region Implementation of IEntity
DataMember(Order = 0)]
public virtual …
Run Code Online (Sandbox Code Playgroud) 我是Perl的新手,想知道prg
在以下场景中运行外部命令(调用它)的方法:
prg
,stdout
只得到它.prg
,stderr
只得到它.prg
,得到了stdout
和stderr
,分别.给出一个清单
A = [1 2 3 4 5 6]
Run Code Online (Sandbox Code Playgroud)
是否有任何惯用(Pythonic)方式迭代它就好像它一样
B = [(1, 2) (3, 4) (5, 6)]
Run Code Online (Sandbox Code Playgroud)
索引除外?感觉就像C的延续:
for a1,a2 in [ (A[i], A[i+1]) for i in range(0, len(A), 2) ]:
Run Code Online (Sandbox Code Playgroud)
我不禁觉得应该有一些聪明的黑客使用itertools或切片或其他东西.
(当然,一次两个只是一个例子;我想要一个适用于任何n的解决方案.)
编辑:在Python中一次迭代字符串2(或n)个字符,但即使是最干净的解决方案(使用zip接受)也不能很好地推广到更高的n而没有列表理解和*-notation.
我有一个程序,使用pthread库来进行500x500矩阵的矩阵乘法.每个线程计算50行矩阵.
当我执行时间时:
shadyabhi@shadyabhi-desktop:~$ time ./a.out
real 0m0.383s
user 0m0.810s
sys 0m0.000s
shadyabhi@shadyabhi-desktop:~$
Run Code Online (Sandbox Code Playgroud)
为什么sys +用户大于实时?
在bash控制台上,如果我这样做:
cd mydir
ls -l > mydir.txt
Run Code Online (Sandbox Code Playgroud)
>运算符捕获标准输入并将其重定向到文件; 所以我得到的文件列表mydir.txt
而不是标准输出.
有没有办法在rails控制台上做类似的事情?
我有一个ruby语句,可以生成大量的打印件(~8k行),我希望能够完全看到它,但是控制台只能"记住"最后的1024行左右.所以我想重定向到一个文件 - 如果有人知道一个更好的选择,我都是耳朵.
我正在尝试捕获Windows窗体应用程序中的Tab键,并在按下时执行自定义操作.
我有一个带有几个listViews和按钮的Form,我已经将Form的KeyPreview属性设置为true,当我按Tab键之外的任何其他键时,我的KeyDown事件处理程序会被调用.
但是Tab键不是这样- 即使在WndProc中我也没有收到WM_KEYDOWN消息.
我是否需要将我的表单中的每个控件(它的TabStop属性)设置为false?必须有一种比这更优雅的方式.
谢谢.
我想在SQL中比较两个varchars,一个是类似的Cafe
,另一个Café
在SQL中有一种方法可以比较两个值.例如:
SELECT *
FROM Venue
WHERE Name Like '%cafe%'
Run Code Online (Sandbox Code Playgroud)
那么,如果有一个名称的场所,Big Bobs Café Extraordinaire
它将被包含在结果集中?
我是C的新手.我知道基本概念.在下面的代码中,为什么打印"墨水"作为其输出?
#include<stdio.h>
main()
{
static char *s[]={"black","white","pink","violet"};
char **ptr[]={s+3,s+2,s+1,s},***p;
p=ptr;
++p;
printf("%s",**p+1);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
c# ×3
.net ×2
winforms ×2
asp.net-3.5 ×1
benchmarking ×1
c ×1
collation ×1
console ×1
datacontract ×1
file ×1
iteration ×1
keystroke ×1
linux ×1
obfuscation ×1
perl ×1
pointers ×1
pthreads ×1
python ×1
regex ×1
ruby ×1
scala-2.8 ×1
serializable ×1
stderr ×1
stdout ×1
t-sql ×1
time ×1
tooltip ×1
unix ×1
wcf ×1