gpt4 book ai didi

c# - 使用 c# Winforms 创建自定义用户控件的属性

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:13 24 4
gpt4 key购买 nike

我创建了一个 UserControl,其中包含 Text Property

文本属性:

private string _Text;
public string Text
{
set
{
_Text= value;
}
get
{
return _Text;
}
}

现在,当我输入 Text Property 时,我想获取 Text PropertyTextValueChanged 事件。我应该怎么办?提前致谢。

最佳答案

如果它是属性并且您需要传递旧文本值/新文本值 - 您应该创建自己的参数并像这样委托(delegate):

public class TextChangedEventArgs : EventArgs
{
public string PreviousText;
public string CurrentText;

public TextChangedEventArgs(string previousText, string currentText)
{
PreviousText = previousText;
CurrentText = currentText;
}
}

public delegate void TextChangedEventHandler(Object sender, TextChangedEventArgs e);

之后你应该检查 - 是否有你的事件并触发它:

    public event TextChangedEventHandler TextChanged;
private string _Text;
public string Text
{
set
{
var previousText = _Text;

_Text = value;

if (TextChanged != null)
{
var args = new TextChangedEventArgs(previousText, value);
TextChanged(this, args);
}
}
get
{
return _Text;
}
}

要使用此事件,您应该附加它(例如在控件的构造函数中):

   TextChanged += TextChangedFunc;

并添加新功能:

   void TextChanged(object sender, TextChangedEventArgs e)
{
// YOUR CODE HERE
}

关于c# - 使用 c# Winforms 创建自定义用户控件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com