我是 C++/XAML 新手,使用 VS2012,在我的第一个 Windows 8 应用程序上工作。
我创建了一个带有数字的文本框1,另一个显示结果的文本框2,另一个按钮,一旦单击它,它就会进行计算。一切正常,我的问题是当用户想要再次进行计算时,他需要点击 textbox1,按退格键擦除最后输入的数字,当点击并点击 textbox1 时,我该如何做到这一点,它会自动清除以前输入的文字?或者我如何使用/制作“CLEAR”按钮来处理 textbox1 和 textbox2 的文本清除?谢谢你!
您可以使用
SetWindowText 是一个设置编辑控件内容的函数
m_myEditCtrl.SetWindowText(_T("")); // 如果使用 MFC
SetWindowText(hWndMyEditCtrl,_T("")); // 使用普通 Win32 API 时
myEditCtrl.Text = ""; // 使用 C++CLI 时
如果需要,您也可以从“单击时”处理程序中使用它!
带按钮:
<Button Content="Clear" Name="button1" Click="button1_Click" />
后面的代码:
void YourClass::button1_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ args)
{
textBox1->Text = "";
textBox2->Text = "";
}
如果你想在点击或其他东西时使用一些逻辑,你应该看看 Tapped 事件。我会以另一种方式来做:每当它获得焦点(GotFocus 事件)时,然后选择文本框中的所有文本(textBox1->SelectAll(); 在 GotEvent 处理程序中)。
我认为这可能很有用,如果您只是在适用于您的文本框的程序末尾添加一个新按钮:
textBox2->Text = String::Empty;
textBox1->Text = String::Empty;
或者
…您可以在程序开始之前添加这些代码行,就在程序的开头。每次它都会以空白重新开始。
干杯。