Autor Beitrag
Tiegertropfen119
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 09.05.22 20:04 
Hallo, ich arbeite momentan an ein Projekt aber ich komme nicht weiter ich habe in ein Tab und ein Knopf der einen anderen Tab erstellt wird der code sieht dazu so aus
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
public void newtab()
{
  tabpage++;

  string namesys = tabpage + " - Script";
  Random rnd = new Random();
  this.web = new System.Windows.Forms.WebBrowser();
  this.bt = new System.Windows.Forms.Button();
  this.tp = new System.Windows.Forms.TabPage();
  this.lb = new System.Windows.Forms.Label();

  tp.Text = namesys;

  bt.Location = new Point(3374);
  bt.Text = "Execute";
  this.bt.Click += new System.EventHandler(this.tabexecute);

  for (int j = 0; j < 4; j++)
  {
    Console.WriteLine(rnd.Next());
  }
  int randit = rnd.Next();

  lb.Location = new Point(414377);
  lb.Text = randit.ToString();
  lb.ForeColor = Color.Black;
  lb.Name = "Code";

  web.Name = lb.Text;
  web.Url = new Uri(string.Format("file:///{0}/Ace/AceEditor.html", Directory.GetCurrentDirectory()));
  web.Location = new Point(38);
  web.Size = new Size(919360);

  tp.Controls.Add(web);
  tp.Controls.Add(lb);
  tp.Controls.Add(bt);
  tabControl1.Controls.Add(tp);
}

jetzt habe ich aber das Problem wenn man im Tab ist, der über den code erstellt, wurde das, private void tabexecute nicht funktioniert:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void tabexecute(object sender, EventArgs e)
{        
  HtmlDocument document = webBrowser1.Document;
  string scriptName = "GetText";
  object[] args = new string[0];
  object obj = document.InvokeScript(scriptName, args);
  string script = obj.ToString();
 
  API.SendLuaCScript(script);
  API.SendLuaCScript(txt_inject.Text);         
}

Weil ich nicht weis wie man denn HtmlDocument document = webBrowser1.Document; so umbauen kann, dass er immer denn Webbrowser nimmt, wo er grade im Tab drin ist. Der Name des Webbrowser wird jedes Mal beim Erstellen eines Tabs random generiert.

Ich bedanke mich im voraus.

Moderiert von user profile iconTh69: Code aus PasteBin-Links kopiert.
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Einloggen, um Attachments anzusehen!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 09.05.22 23:04 
Etwas undurchsichtig. Wenn du immer das gleiche auf jedem Tab machen willst hilft es dir vermutlich einfach alle Controls eines Tabs in einem UserControl zu definieren und dann das Zusammenspiel der Control im UserControl zu regeln. Auf den einzelnen Tabs kannst du dann einfach jeweils eine Instanz des UserControls anzeigen. Wie dann die einzelnen Controls heißen ist dann egal da auf dem jeweiligen UserControls du eh nur Zugriff auf die da nur einmal vorhandenen Controls hast.