我在我的解决方案中创建了一个组件。我可以在我的表单上使用此组件。 我做了这样的操作:
我有一些代码用于我的组件。我为此编写了一个函数,但我不知道我如何在我的组件中使用我的函数。我需要帮助。我想学习我的组件工作哪个项目?所以,我需要在我的表单上加载组件后调用我的函数。因为我需要学习这个表格的项目名称。 这是我的组件
[System.ComponentModel.Description("This component using for update an application")]
public class MyComponent : System.Windows.Forms.Control
{
protected static string userName;
protected static string userPassWord;
ButtonState state = ButtonState.Normal;
[System.ComponentModel.Description("UserName for DB Connection"),
System.ComponentModel.Category("UserPanel"),
System.ComponentModel.DefaultValue(null)]
public string UserName
{
get
{
return userName;
}
set
{
userName = value;
}
}
[System.ComponentModel.Description("Password for DB Connection"),
System.ComponentModel.Category("UserPanel"),
System.ComponentModel.DefaultValue(null)]
public string UserPassWord
{
get
{
return userPassWord;
}
set
{
userPassWord = value;
}
}
public MyComponent()
{
InitializeComponent();
}
private void InitializeComponent()
{
userName = "username";
userPassWord = "pass";
}
protected override void OnPaint(PaintEventArgs e)
{
Draw(e.Graphics);
base.OnPaint(e);
}
protected virtual void Draw(Graphics g)
{
DrawButton(g);
}
protected virtual void DrawButton(Graphics g)
{
Rectangle rcButton = new Rectangle(0, 0, this.Width, this.Height);
ControlPaint.DrawButton(g, rcButton, state );
}
public void MyFunction()
{
// What my components do.
string appname =System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
}
我尝试使用此代码学习项目名称“System.Reflection.Assembly.GetExecutingAssembly()。GetName()。Name;”但它给了我“MyComponenet”。我想要它给我“TestProject” 现在我需要做什么?我想我需要一个像这样的功能
protected override void afterComponenetsCreatedOnForm()
{
base.afterComponenetsCreatedOnForm();
MyFunction();
}