如何解决第一次单击时删除条目文本
我有一个条目/文本框。我有 10 个数字按钮作为计算器。(0-1-2-3-4....)当我的页面加载有一个数字的条目时。它显示了我的起始值。(例如,当我的页面加载的条目文本已经是 10 时没有任何点击按钮)所以我想当我点击一个数字按钮时它会删除加载页面的第一个条目值,它会开始写我的按钮点击。我该怎么做?
我尝试过:
private void btn1_Clicked(object sender,EventArgs e)
entry.Text="";
entry.Text="1";
但当然它没有用,因为如果我想写 123 我不能写它总是删除。我只想删除页面加载后的第一个值。
解决方法
正如@Jason 建议的那样,使用 Placeholder 属性来显示初始值,并在点击事件中将该值附加到条目文本中:
注意:您可以有一个事件委托来处理所有按钮的点击事件:
Constructor()
{
//set initial value here or use binding
//entry.Placeholder =
}
private void btn_Clicked(object sender,EventArgs e)
{
//you can remove the initial value if you want
//entry.Placeholder = string.Empty;
string buttonText = ((Button)sender).Text;
entry.Text = $"{entry.Text}{buttonText}";
}
,
另一种方法是在方法外添加一个布尔标志来避免这种情况。
public class MyCalculator ()
{
private bool _isNewNumber;
protected override void OnAppearing()
{
_isNewNumber = true; //whenever open the page,needs to refresh
}
private void btn1_Clicked(object sender,EventArgs e)
{
if (_isNewNumber)
{
entry.Text=""; //clear the number for the first time
}
entry.Text="1";
_isNewNumber = false;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。