![](/img/trans.png)
[英]Did C# formatting change in Visual Studio 2015? And how can I change it back?
[英]How can I check if NSTextField did change value in C#?
我在 C# 中创建了一个 Cocoa 应用程序(使用 Xamarin.Mac),我想检查 NSTextField 是否更改了值。 我在 C# 中找不到很多关于此的教程,并且为 swift 或覆盖找到的方法对我不起作用。 我试过这个:
public override void ObjectDidEndEditing(NSObject editor)
和
public override void DidChangeValue(string forKey)
在 MacOS 中使用 Xamarin 时,要知道NSTextField
何时更改,您可以订阅它的Changed
事件。
myTextField.Changed += TextField_Changed;
和
private void TextField_Changed(object sender, EventArgs e)
{
//Here you can access your TextField to get the value.
}
希望这可以帮助。
有两种方法可以检查NSTextField是否更改了值。
delegate
,但是与导航代码有一点不同。如下:
textField.Delegate = new MyNSTextDelegate();
从NSTextFieldDelegate
创建一个 class 继承:
class MyNSTextDelegate : NSTextFieldDelegate
{
[Export("controlTextDidChange:")]
public void Changed(NSNotification notification)
{
NSTextField textField = notification.Object as NSTextField;
Console.WriteLine("Text Changed : " + textField.StringValue);
}
}
Event
。如下:
textField.Changed += TextValue_Changed;
或者
textField.Changed += new EventHandler(TextValue_Changed);
TextValue_Changed
的实现:
private void TextValue_Changed(object sender, EventArgs e)
{
NSNotification notification = sender as NSNotification;
NSTextField textField = notification.Object as NSTextField;
Console.WriteLine("Text Changed : " + textField.StringValue);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.