我有一个非常简单的问题。我试图在 Excel VBA 中嵌套两个“Do While”循环。下面的测试代码重现了我遇到的问题。
下面的代码应该产生 12 个消息框。9 用于嵌套循环,因为它被触发了 3 次,主循环也被触发了 3 次,另外还有 3 个用于主循环的消息框。
我发现这两个循环串联运行,就好像它们没有嵌套一样,所以我总共收到 6 个消息框。
我确定我过去在 VBA 中使用过嵌套循环没有问题(尽管现在我可能需要回去检查)。
为什么嵌套循环会以一系列方式运行?它在您的计算机上的表现如何?我错过了一个简单的语法错误吗?
Sub test()
i = 0
m = 0
Do While i < 3
Do While m < 3
MsgBox ("Nested Loop " & m)
m = m + 1
Loop
MsgBox ("Master Loop " & i)
i = i + 1
Loop
End Sub
Run Code Online (Sandbox Code Playgroud) 我正在使用 Microsoft XamlBehaviorsWpf [标签丢失!评级足够高的人可以在我的 WPF 应用程序中添加] 吗?我的 XAML 中有四个行为触发器,如下所示。
我发现KeyDown触发器工作正常,但KeyUp事件却不然。
有人知道为什么吗?
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
....
<behaviors:KeyTrigger Key="LeftCtrl" FiredOn="KeyDown">
<behaviors:CallMethodAction TargetObject="{Binding}" MethodName="CtrlDown"/>
</behaviors:KeyTrigger>
<behaviors:KeyTrigger Key="RightCtrl" FiredOn="KeyDown">
<behaviors:CallMethodAction TargetObject="{Binding}" MethodName="CtrlDown"/>
</behaviors:KeyTrigger>
<behaviors:KeyTrigger Key="LeftCtrl" FiredOn="KeyUp">
<behaviors:CallMethodAction TargetObject="{Binding}" MethodName="CtrlUp"/>
</behaviors:KeyTrigger>
<behaviors:KeyTrigger Key="RightCtrl" FiredOn="KeyUp">
<behaviors:CallMethodAction TargetObject="{Binding}" MethodName="CtrlUp"/>
</behaviors:KeyTrigger>
....
Run Code Online (Sandbox Code Playgroud)
这是我的 ViewModel
public void CtrlDown()
{
cntrlSelected = true;
MessageBox.Show("down");
}
public void CtrlUp()
{
MessageBox.Show("up");
cntrlSelected = false;
}
Run Code Online (Sandbox Code Playgroud)
编辑
以下是可用选项的屏幕截图FiredOn:
编辑2
这个问题已在 GitHub 上提出,但响应仍在等待 8 个月,因此不确定这是否是一个错误,或者我(以及其他人)没有正确使用该库。
链接:第 77 期
我正在尝试使用凭据作为单个变量(只是为了简单和易于维护)使用 PHP 连接到我的本地主机数据库,但我无法让它工作。
以下工作正常:
$con=mysqli_connect('localhost', 'root', '','news_db');
Run Code Online (Sandbox Code Playgroud)
但以下没有:
$con_details="'localhost', 'root', '','news_db'";
$con=mysqli_connect($con_details);
Run Code Online (Sandbox Code Playgroud)
我收到“没有这样的主机已知”的错误