我需要在另一个控件的事件中找到鼠标下的控件.我可以从使用开始GetTopLevel并迭代GetChildAtPoint,但有更快的方法吗?
我需要在鼠标位于PictureBox上方并且已经单击并按住鼠标按钮时触发事件.
问题:
MouseDown和MouseEnter事件处理程序不能很好地协同工作.
例如,一旦单击并按住鼠标按钮,C#将触发MouseDown事件处理程序,但是当光标移动到PictureBox上时,MouseEnter事件不会触发,直到鼠标按钮被重新发布.
我需要计算目录中的文件数.我可以使用该目录中的所有文件的名称System.IO.Directory.GetFiles()并获取该数组的长度,但在大型目录上需要太长时间.有没有办法获得计数而不必得到名字?
很少,我们的应用程序崩溃,因为它收到SIGKILL.情况不同,但回溯总是一样的:
#0 0x94a00afa in mach_msg_trap ()
#1 0x94a01267 in mach_msg ()
#2 0x00fa9d5c in _UIPasteboardServerContainsTypesAtIndex ()
#3 0x00faa9ae in UIPasteboardServerContainsTypesAtIndex ()
#4 0x00fa5417 in -[UIPasteboard containsPasteboardTypes:] ()
#5 0x00de4054 in -[UITextField canPerformAction:withSender:] ()
#6 0x087038a8 in -[UIResponder(UITextAccessibilityUtilities) _accessibilityHasTextOperations] ()
#7 0x08704df5 in -[UIAccessibilityTextFieldElement _accessibilityHasTextOperations] ()
#8 0x08791dcf in -[NSObject(AXPrivCategory) accessibilityAttributeValue:] ()
#9 0x0878a3b4 in _copyMultipleAttributeValuesCallback ()
#10 0x087c5c95 in _AXXMIGCopyMultipleAttributeValues ()
#11 0x087c0a6c in _XCopyMultipleAttributeValues ()
#12 0x087c8e66 in mshMIGPerform ()
#13 0x020cf1c5 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#14 0x02034022 in __CFRunLoopDoSource1 …Run Code Online (Sandbox Code Playgroud) 我有兴趣在我的iOS应用程序中使用数据保护.似乎有三个地方我可以做到这一点:
[-NSFileManager setAttributesOfItemAtPath:error:]我已经阅读了我能找到的文档,但没有一个能告诉我我需要做哪些文档.如果我做1,是否会为整个应用打开它?我可以做3而不做1吗?我需要做2吗?
我试图通过他们的文本基线对齐a Label和a NumericUpDown.我是用代码而不是设计师来做的.如何获得文本基线的位置?
我们的winforms应用程序使用制造商的SDK支持自定义控制器,但不支持检测设备是否存在.如何检查给定的USB设备是否已插入?
自动属性让我替换此代码:
private MyType myProperty;
public MyType MyProperty
{
get { return myPropertyField; }
}
Run Code Online (Sandbox Code Playgroud)
使用此代码:
public MyType MyProperty { get; private set; }
Run Code Online (Sandbox Code Playgroud)
在这里和那里进行一些更改 - 但有没有办法替换此代码:
private readonly MyType myProperty;
public MyType MyProperty
{
get { return myPropertyField; }
}
Run Code Online (Sandbox Code Playgroud)
有类似的东西?
如果我想进入一个传递合成属性的方法,我首先必须进入和退出每个属性.有没有办法告诉XCode忽略它们?
我正在尝试创建一个UIView,它显示一个半透明的圆圈,其边界内有一个不透明的边框.我希望能够以两种方式改变界限 - 在一个-[UIView animateWithDuration:animations:]块内和一个捏动手势识别器动作,每秒触发几次.我已经尝试了三种基于SO其他地方的答案的方法,但没有一种方法是合适的.
设置视图图层的角半径可以layoutSubviews提供平滑的平移,但在动画期间视图不会保持圆形; 似乎cornerRadius不可动画.
绘制圆圈可以drawRect:得到一致的圆形视图,但如果圆圈太大,那么在捏合手势中调整大小会变得不稳定,因为设备花费了太多时间重绘圆圈.
添加CAShapeLayer并设置其路径属性layoutSublayersOfLayer,该属性不会在UIView动画内部制作动画,因为路径不是隐式可动画的.
有没有办法让我创建一个始终循环且平滑可调整大小的视图?我可以使用其他类型的层来利用硬件加速吗?
UPDATE
当我说我想改变一个-[UIView animateWithDuration:animations:]区块内的界限时,一位评论者要求我扩展我的意思.在我的代码中,我有一个包含我的圆视图的视图.圆形视图(使用cornerRadius的版本)覆盖-[setBounds:]以设置角半径:
-(void)setBounds:(CGRect)bounds
{
self.layer.cornerRadius = fminf(bounds.size.width, bounds.size.height) / 2.0;
[super setBounds:bounds];
}
Run Code Online (Sandbox Code Playgroud)
圆视图的边界设置为-[layoutSubviews]:
-(void)layoutSubviews
{
// some other layout is performed and circleRadius and circleCenter are
// calculated based on the properties and current size of the view.
self.circleView.bounds = CGRectMake(0, 0, circleRadius*2, circleRadius*2);
self.circleView.center = circleCenter;
}
Run Code Online (Sandbox Code Playgroud)
视图有时会在动画中调整大小,如下所示:
[UIView animateWithDuration:0.33 animations:^(void) {
myView.frame = …Run Code Online (Sandbox Code Playgroud)