我试图获得一种反应形式来正确处理模糊事件,但它似乎对模糊反应不正确。
import { Component, HostListener, HostBinding } from '@angular/core';
@Component({
selector: 'app-combo-box-basic',
templateUrl: './combo-box-basic.html'
})
export class ComboBoxBasic {
@HostListener('blur', ['$event.target']) onBlur(target) {
console.log(`onBlur(): ${new Date()} - ${JSON.stringify(target)}`);
}
}Run Code Online (Sandbox Code Playgroud)
<div class="btn-group mr-3">
<input (blur)="onBlur($event.target)" type="text" class="btn btn-outline-success">
<div class="btn-group" ngbDropdown role="group" aria-label="Button group with nested dropdown">
<button (blur)="onBlur($event.target)" class="btn btn-outline-primary" ngbDropdownToggle></button>
<div class="dropdown-menu" ngbDropdownMenu>
<button class="dropdown-item">One</button>
<button class="dropdown-item">Two</button>
<button class="dropdown-item">Four!</button>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
在visual studio中,您可以通过按住Alt鼠标选择文本时选择一个文本块.这对于选择一列数据或文本而非整行来说非常有用.
在Visual Studio 2003-2005中,可以通过将Alt+ Shift与箭头键结合使用来执行此操作,但键盘选项在VS2008中不再有效.
谁能告诉我编辑器命令分配给键盘快捷键?这个键盘快捷键刚刚转移到VS 2008中的其他东西吗?
我有一个简单的程序,在Visual Studio调试器中给我奇怪的结果.
Console.WriteLine("4280.159d * 1000000 = {0}", 4280.159d * 1000000);
double D = 4280.159d * 1000000;
Console.WriteLine("D = {0}", D);
Console.WriteLine("Put a breakpoint here and look at value of D in debugger");
Run Code Online (Sandbox Code Playgroud)
这打印出以下内容:
4280.159d * 1000000 = 4280159000
D = 4280159000
Run Code Online (Sandbox Code Playgroud)
此输出是正确的但如果您在调试器中查看它,则D的值显示为4280158999.9999995.
如果在即时窗口中键入相同的等式,则会得到相同的错误答案.
获得似乎正确答案的唯一方法是在调试器中强制转换为十进制
(decimal)4280.159d * 1000000
4280159000
Run Code Online (Sandbox Code Playgroud)
在VS2010和VS2012中的行为是相同的,如果它是64位或32位似乎并不重要.为什么调试器会从运行的代码中得到不同的结果,有没有办法解决它?