我正在开发一个Windows Form Apps,我有一个TextBox
,我有一个textBox1_KeyDown
的事件触发一个函数,就是在另一个类中,在调用它的OBJECT后调用它所有设置均为默认值。但是我得到以下错误...
错误CS0122' ClassName.FunctionName(object,KeyEventArgs)'是 由于其保护级别无法访问
现在我的主表单代码如下所示......
namespace NewDEMOApps
{
public partial class MainForm : Form
{
ClassName newObj = new ClassName();
public MainForm()
{
InitializeComponent();
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
newObj.FunctionName(sender, e);
}
}
}
我的班级代码如下所示......
namespace NewDEMOAppsClass
{
public class ClassName
{
private void FunctionName(object sender, KeyEventArgs e)
{
if (true)
{
if (e.KeyCode.Equals(Keys.Up))
{
MessageBox.Show(UP Key Pressed);
}
if (e.KeyCode.Equals(Keys.Down))
{
MessageBox.Show(DOWN Key Pressed);
}
if (e.KeyCode.Equals(Keys.Enter))
{
MessageBox.Show(Enter Key Pressed);
}
e.Handled = true;
}
}
}
}
现在我想通过实际操作解决这个问题,而不是通过编辑/更改Visual Studio等中的GUI设置来解决这个问题。那么,我可以做些什么来解决这个问题吗?
答案 0 :(得分:1)
更改以下内容:
private void FunctionName(object sender, KeyEventArgs e)
到
public void FunctionName(object sender, KeyEventArgs e)
您通常无法从其外部访问private
方法。 Read here for further information