我正在研究这几天。现在我有另一个问题。所以我在zzz.cs
:
private void button3_Click_1(object sender, EventArgs e)
{
scraper zzz = new scraper();
zzz.Show();
}
由于一个原因,它不想打开名为scraper.cs
的其他窗体。我的zzz.cs
和scraper.cs
具有相同的命名空间。这怎么可能不起作用?什么是修复?
编辑:
问题已解决,但现在从login.cs它没有去zzz.cs.我的代码是:
MessageBox.Show("You are logged in successfully");
zzz zzz = new zzz();
zzz.Show();
this.Close();
但现在不行。如何解决?在它运作之前,现在不再......
我再试一次。我看到zzz.cs打开了。然后direclty关闭代码:0。这是我的zzz.cs:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace Login
{
public partial class zzz : Form
{
public static List<string> proxies { get; set; } = new List<string>();
public static List<string> Links { get; set; } = new List<string>();
public static string path;
public zzz()
{
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e)
{
Logs.Items.Clear();
if (radioButton1.Checked == true)
{
bool useproxies = true;
Logs.Items.Add("Using proxies enabled!");
scrape();
}
else
{
bool useproxies = false;
Logs.Items.Add("Using proxies disabled!");
}
void scrape ()
{
int omg = proxyscraper();
}
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
public int proxyscraper()
{
return 0;
}
private void button3_Click_1(object sender, EventArgs e)
{
//Form1 aaa = new Form1();
//aaa.Show();
}
}
}
这是我的inlogin.cs:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Login
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
//Enter code here for your version of username and userpassword
Login login = new Login("admin", "1234");
private void button1_Click(object sender, EventArgs e)
{
//define local variables from the user inputs
string user = nametxtbox.Text;
string pass = pwdtxtbox.Text;
//check if eligible to be logged in
string login(string lol,string lel)
{
try
{
var request = (HttpWebRequest)WebRequest.Create("http://SNIP/mama.php?user=" + lol + "&password=" + lel);
var response = (HttpWebResponse)request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return responseString;
}
catch
{
string responseString = "NO";
return responseString;
}
}
string wat = "YES";
if (login(user, pass) == wat)
{
MessageBox.Show("You are logged in successfully");
zzz aaa = new zzz();
aaa.Show();
this.Close();
}
else
{
//show default login error message
MessageBox.Show("Login Error!");
}
}
private void label2_Click(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
... Howwww
答案 0 :(得分:1)
您是否尝试过编译代码?它不应该这样做。
一个原因是您正在混合文件名itselve和类名。这是不同的名字。
您必须创建班级的实例。在这种情况下,您的表单使用其构造函数。
private void button3_Click_1(object sender, EventArgs e)
{
Form1 aaa = new Form1()
aaa.Show();
}
您还可以将班级Form1
重命名为Scrapper
并致电
private void button3_Click_1(object sender, EventArgs e)
{
Scrapper aaa = new Scrapper()
aaa.Show();
}
回答你的编辑
您正在使用zzz.Show()
,只会打开zzz
和this.Close();
的非模态对话框
在click方法中执行下一个方法。这是zzz
。这将关闭您当前的登录表单,这也会关闭您的zzz.ShowDialog();
。您可以使用zzz
打开this.Close();
。现在登录对话框正在等待&#39;直到你的sxrapper对话框关闭。之后,登录屏幕会通过调用Main
来关闭。
我建议您更改申请流程。 首先打开您的登录屏幕,然后在成功结束后打开你的刮板。
例如,您可以将Program
文件中的Program.cs
课程中的static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var loginForm = new YourLoginDialog();
var result = YourLoginDialog.ShowDialog();
if (result == DialogResult.Yes)
{
Application.Run(new Scrapper());
}
else
{
MessageBox.Show("Login failed");
}
}
方法更改为:
button3_Click_1
如果它仍无法正常工作:
检查您的button3
是否与F4
相关联。
您可以通过多种方式执行此操作,但常见的方法是使用VisualStudio的属性窗口,按button3
选择bolt
并选择button3_Click_1
/事件选项卡并选择点击事件的InitializeComponent();
方法
或者在调用this.button3.Click += new System.EventHandler(this.button3_Click_1);
Scrapper
通过上述评论回答您的问题:
scraper是Windows Form idk如何找到它
由于类定义中的 Form1
,您的System.Windows.Forms.Form
(: Form
)类会继承public partial class Form1 : Form
{
// ...
}
。
ensureIndex()