从清单框中覆盖 GetItemCheckState()
Override GetItemCheckState() from a checklistbox
有什么方法可以从 CheckedListBox 覆盖 GetItemCheckState(i)
吗?我正在尝试制作一个 class 以拥有一个完全相同的自定义 CheckedListBox,但是当我调用 GetItemCheckState(i)
而不是 returning 字符串 Checked
或 Unchecked
我想要它 return bool true
或 false
。
Visual Studio 告诉我覆盖修饰符对此项目无效,有什么办法解决这个问题吗?
[编辑] 我找到了一个解决方法,但我不确定它是否会导致某种问题,我不知道它是否是最优雅的解决方案,所以几乎相同的问题仍然存在,有一个更好的解决方法?
我做了什么:
public class ExCheckedListBox : CheckedListBox
{
public bool GetItemCheckState2(int index)
{
string aux = (this.GetItemCheckState(index)).ToString();
if(aux == "Checked")
{
return true;
}
else if(aux == "Unchecked")
{
return false;
}
return false;
}
}
正如 LarsTech 和 Ben Voigt 所说,GetItemChecked(#)
或 GetItemCheckState(index) != CheckState.Unchecked;
解决了我的问题。
有什么方法可以从 CheckedListBox 覆盖 GetItemCheckState(i)
吗?我正在尝试制作一个 class 以拥有一个完全相同的自定义 CheckedListBox,但是当我调用 GetItemCheckState(i)
而不是 returning 字符串 Checked
或 Unchecked
我想要它 return bool true
或 false
。
Visual Studio 告诉我覆盖修饰符对此项目无效,有什么办法解决这个问题吗?
[编辑] 我找到了一个解决方法,但我不确定它是否会导致某种问题,我不知道它是否是最优雅的解决方案,所以几乎相同的问题仍然存在,有一个更好的解决方法?
我做了什么:
public class ExCheckedListBox : CheckedListBox
{
public bool GetItemCheckState2(int index)
{
string aux = (this.GetItemCheckState(index)).ToString();
if(aux == "Checked")
{
return true;
}
else if(aux == "Unchecked")
{
return false;
}
return false;
}
}
正如 LarsTech 和 Ben Voigt 所说,GetItemChecked(#)
或 GetItemCheckState(index) != CheckState.Unchecked;
解决了我的问题。