c#中如何在一个类中调用click方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#中如何在一个类中调用click方法相关的知识,希望对你有一定的参考价值。

private void button1_Click(object sender, EventArgs e)
string code = textBox1.Text.Trim();
string pwd = textBox2.Text.Trim();

if (code == "" || pwd == "")
MessageBox.Show("请输入账号和密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);

else if (code == "admin" && pwd == "123456")



else

MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);



private void timer1_Tick(object sender, EventArgs e)
//得到百分比数。10%
string plan = lbTimer.Text.Trim();

int x = Convert.ToInt32(plan.Substring(0, plan.Length - 1)); x = x + 10;
lbTimer.Text = x + "%";

if (x > 100)
Form2 from2 = new Form2();
from2.Show();
this.Visible = false;



想在 if (code == "admin" && pwd == "123456")中调用

private void timer1_Tick(object sender, EventArgs e) if中应该怎么写

button1_click事件是用来响应用户在界面上对button1按键用滴,楼主想调用button1_click里面的语句,直接调用该方法不能实现滴。不过可以这样做,将button1_click中的函数体放到一个新方法里面比如叫Fun(),然后分别在button1_click和timer1_Tick中调用Fun()就行。
public Fun()把要执行的语句放进来XXXX;
button1_Click()Fun();
timer1_Tick()Fun();;追问

timer1_Tick()是实现组件Timer Timer中已设置0.1秒实现一次( Interval=100)

追答

无压力啊,将这条语句提出来呗

参考技术A 调用事件是需要会委托的。
简单点的方法:你可以在当前类中自定义一个方法,把Click中的所有代码都放到这个方法里,然后让Click事件和If里都调用这个方法嘛
参考技术B 先你需要共享访问的数据提高他们的访问层级。
public string code="";

然后把你需要的过程,放到一个独立的viod方法里了。

在你需要的地方和click事件共同调用不就可以了?
参考技术C 如果if (code == "admin" && pwd == "123456")为true;我们直接设置timer控件为可用,不就行了吗? 参考技术D if (code == "admin" && pwd == "123456")


timer1_Tick(sender, e);

追问

这样调动 只能调用一次 达到10%就不能继续下去了 要的结果是达到100%后 进入下一from

C# Specflow:如何在另一个文件夹的类中调用具有动态表作为参数的方法

【中文标题】C# Specflow:如何在另一个文件夹的类中调用具有动态表作为参数的方法【英文标题】:C# Specflow: How to call a method having dynamic tables as an argument in another folder's class 【发布时间】:2021-12-22 07:25:32 【问题描述】:

我有两个文件夹文件夹 A 和文件夹 B,其中包含不同的类和方法。

文件夹 A

A 类 -> Method1(使用其特征文件中提到的表中的数据)

文件夹 B

B 类 -> 方法二

问题:我想在 Method2 中调用 Method1。我已经导入了必要的类和其他数据,但仍然无法正常工作。

方法一:public void WhenAdminFillsAllTheDetails(Table table) // 这包含一长串数据,例如姓名、电话、城市、出生日期等。

方法2:该方法调用Method1,如下图: CNES_Steps.WhenAdminFillsAllTheDetails(table) // 我创建了一个 Table 实例 -> table

【问题讨论】:

在您的上下文中定义“文件夹”?编译类时,它不关心文件夹。你是说命名空间吗? 是方法1公开的,它的类是如何在方法2的类中初始化的。另外你的意思是它不起作用?是否存在编译错误或运行时错误? 【参考方案1】:

我不确定,也无法发表评论。但如果方法 1 不是静态的,则不能在不创建此类实例的情况下从另一个类调用它。

解决方案 1:将方法 1 设为静态

public static void Method1 ()

解决方案 2:创建包含方法 1 的类的实例

classFromOtherNameSpace obj = new classFromOtherNameSpace ();
obj.Method1();

【讨论】:

【参考方案2】:

我想在另一个方法中调用 Method1(使用其功能文件中提到的表中的数据)。由于 Table 实例的参数,我遇到了这个问题。由于该方法是特定的特征文件,没有相同特征文件的其他方法不能调用该方法。在这里,我没有收到任何错误,但浏览器在运行测试时打开时会立即关闭。

后来我发现这实际上是不可能的,因为 Table 有一些限制。

如果我想在多个绑定之间共享数据,那么我必须使用上下文注入方法。我也这样做了。我创建了一个新的单独 POCO 类,仅用于共享数据,然后我在 2 个不同的绑定中使用同一个类。

希望这个解释也能帮助其他面临同样问题的人。谢谢! :)

【讨论】:

以上是关于c#中如何在一个类中调用click方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在C#中,在一个类里调用另外一个类的方法

RDD take()方法如何在内部工作?

Jquery中each方法如何在其所调用函数中退出遍历

如何用C#代码触发button-click事件

C# Specflow:如何在另一个文件夹的类中调用具有动态表作为参数的方法

VS.net (c#)如何调用另一个控件的事件