0

我有一个带有textboxes. 每个都textbox将显示来自 .ini 文件的设置值。一些 .ini 文件值是加密的,需要先解密这些值,然后再将值放入 .ini 文件中textbox。我已经创建了一个函数:

storeIniValueToVar(string iniSection, string iniKey, bool? encrypt)

textbox是否可以使用自定义参数(例如布尔值)来扩展属性?加密?我的想法是传递自定义参数布尔值?加密storeIniValueToVar函数的值。

4

2 回答 2

3

有一个名为 Tag 的通用属性。您可以在其中存储任何类型的字符串。缺点是返回类型是Object,但你不必从你的UI控件派生。

例子:

    private void OnTextBoxChanged(object sender, EventArgs e)
    {
        var updatedTextBox = sender as TextBox;
        object tagObject = updatedTextBox.Tag;

        // Further converting of the tag here...

    }

将文本框的事件(此处为 TextChanged)设置为一个 EventHandler,您也可以获得 TextBox 实例和标签。

于 2013-08-11T09:48:59.617 回答
2

我相信您要求向TextBox该类添加一个附加属性,该属性将指示其中包含的文本在从 ini 文件存储/加载时是否应该加密/解密。

您可以做的是子类化TextBox并添加您自己的属性:

class MyTextBox : TextBox
{
    public bool Encrypt { get; set; }
}

然后,您在表单上使用MyTextBox而不是。TextBox

于 2013-08-11T03:00:48.910 回答