|
You last visited: Today at 16:20
Advertisement
C# Anfängerfrage
Discussion on C# Anfängerfrage within the .NET Languages forum part of the Coders Den category.
02/21/2012, 10:59
|
#1
|
elite*gold: 0
Join Date: Feb 2012
Posts: 3
Received Thanks: 0
|
C# Anfängerfrage
Hallo, ich bin grade dabei C# zu lernen und stecke noch in den Kinderschuhen, wie man sehen kann  Also beschränke ich mich derzeit auf Minifunktionen und probiere erstmal aus um alles kennenzulernen. Aber bei dieser Aufgabe komme ich einfach nicht weiter, auch youtube und diverse Tutorials konnten mir dabei nicht weiterhelfen. Evtl könnt ihr mir ja n Tip geben
Kurz zusammengefasst, ich habe mir in der Entwurfsansicht 2 RadioButtons und n normalen Button eingeworfen. Wenn einer der beiden RadioButtons checked ist, soll die Zahl 1 oder 2 an die untere Funktion übergeben werden,
klappt aber so gar nicht q.q
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RadioButton_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
int x = id2;
MessageBox.Show("id");
}
else if (RadioButton2.Checked)
{
int x = id1;
MessageBox.Show("id");
}
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("id").InvokeMember("click");
}
}
}
Wenn ich aber nun RadioButton 1 oder 2 anklicke, wird der Wert wohl nicht an die untere Funktion übergeben  also da kommt nicht
Code:
webBrowser1.Document.GetElementById("id1").InvokeMember("click");
oder
Code:
webBrowser1.Document.GetElementById("id2").InvokeMember("click");
bei raus, was mache ich da falsch ? oder ist int die völlig falsche variable ?
Wäre für konstruktive Kritik sehr dankbar,
mfg
edit: Habe nun doch ein Lösung gefunden, allerdings sieht das für mich eher nach amateurhaften Workarroung aus, da ich mich ja nun einfach vor dem Übergeben des Integers gedrückt habe
Code:
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
webBrowser1.Document.GetElementById("id2").InvokeMember("click");
}
else if (RadioButton2.Checked)
{
webBrowser1.Document.GetElementById("id1").InvokeMember("click");
}
}
gäbe es eventuell eine elegantere Lösung dafür ?
|
|
|
02/21/2012, 12:21
|
#2
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Kurz zusammengefasst:
Das hier:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RadioButton_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
int x = id2;
MessageBox.Show("id");
}
else if (RadioButton2.Checked)
{
int x = id1;
MessageBox.Show("id");
}
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("id").InvokeMember("click");
}
}
}
Ist kompletter Bockmist. Erst die Grundlagen lernen, dann mit dem GUI rumbasteln...
Das hier:
Code:
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
webBrowser1.Document.GetElementById("id2").InvokeMember("click");
}
else if (RadioButton2.Checked)
{
webBrowser1.Document.GetElementById("id1").InvokeMember("click");
}
}
Ist vollkommen legitim.
EDIT: Du wärst im .NET Bereich btw mit deinem Thread hier besser aufgehoben.
|
|
|
02/21/2012, 14:25
|
#3
|
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
|
Code:
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
int x = id2;
MessageBox.Show("id");
}
else if (RadioButton2.Checked)
{
int x = id1;
MessageBox.Show("id");
}
}
Du kannst in dem selben Event nicht 2 Variablen mit dem gleichen Namen definieren.
Du kannst keinen Text in eine Integer Variable speichern, sondern nur Zahlen.
Wenn du den Wert einer Integer Variable mit der Messagebox ausgeben willst musst du es:
1. Zu einem String konvertieren. (Conver.ToString(), .ToString(), + '')
2. Keine Gänsefüßchen.
So würds richtig aussehen:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RadioButton_Test
{
public partial class Form1 : Form
{
string id;
public Form1()
{
InitializeComponent();
}
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
id = "id2";
}
else if (RadioButton2.Checked)
{
id = "id1";
}
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById(id).InvokeMember("click");
}
}
}
Erstmal die Grundlagen lernen!!! Soviele Fehler, in einen so kurzen Code hab ich noch nie gesehen....
|
|
|
02/25/2012, 00:31
|
#4
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Code:
RadioButton1.Checked
Hat Microsoft jetzt auch schon die Kapselung für obselet erklärt?
|
|
|
02/25/2012, 09:30
|
#5
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Quote:
Originally Posted by SmackJew
Code:
RadioButton1.Checked
Hat Microsoft jetzt auch schon die Kapselung für obselet erklärt?
|
Nein, man hat in C# die Möglichkeit den Zugriff auf Felder durch Zugriffsmethoden zu steuern. Es sieht lediglich so aus als würde ein direkter Zugriff erfolgen.
|
|
|
02/25/2012, 09:30
|
#6
|
elite*gold: 0
Join Date: Aug 2009
Posts: 127
Received Thanks: 27
|
Quote:
Originally Posted by Lizzaran
Code:
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
int x = id2;
MessageBox.Show("id");
}
else if (RadioButton2.Checked)
{
int x = id1;
MessageBox.Show("id");
}
}
Du kannst in dem selben Event nicht 2 Variablen mit dem gleichen Namen definieren.
Du kannst keinen Text in eine Integer Variable speichern, sondern nur Zahlen.
Wenn du den Wert einer Integer Variable mit der Messagebox ausgeben willst musst du es:
1. Zu einem String konvertieren. (Conver.ToString(), .ToString(), + '')
2. Keine Gänsefüßchen.
So würds richtig aussehen:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RadioButton_Test
{
public partial class Form1 : Form
{
string id;
public Form1()
{
InitializeComponent();
}
private void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
if (RadioButton1.Checked)
{
id = "id2";
}
else if (RadioButton2.Checked)
{
id = "id1";
}
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById(id).InvokeMember("click");
}
}
}
Erstmal die Grundlagen lernen!!! Soviele Fehler, in einen so kurzen Code hab ich noch nie gesehen....
|
ist es nich ansich der Fehler das die IF function in den Checkbuttons sind? wäre es nicht einfacher nach dem Buttonklick abzufragen welcher von den beiden gecheckt ist und dort durch die IF Button 1 checked -> id1 else -> id2
oder hab ich die funktion gerade missverstanden .. gerade keine IDE vor mir <<
|
|
|
02/25/2012, 12:55
|
#7
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
#moved
|
|
|
02/25/2012, 13:02
|
#8
|
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
|
Quote:
Originally Posted by theredvex
ist es nich ansich der Fehler das die IF function in den Checkbuttons sind? wäre es nicht einfacher nach dem Buttonklick abzufragen welcher von den beiden gecheckt ist und dort durch die IF Button 1 checked -> id1 else -> id2
oder hab ich die funktion gerade missverstanden .. gerade keine IDE vor mir <<
|
Könntest es so auch machen, ich hab nurmal dein Beispiel so weit ausgebessert das es funktioniert.
|
|
|
03/08/2012, 01:30
|
#9
|
elite*gold: 0
Join Date: Feb 2012
Posts: 3
Received Thanks: 0
|
Vielen Dank für die Zahlreichen Rückmeldungen
Bis heute war ich im Urlaub und bei den Roaminggebühren / Hotelinternetkosten wollte ich nicht online gehen.
Quote:
Originally Posted by Lizzaran
[code]Erstmal die Grundlagen lernen!!! Soviele Fehler, in einen so kurzen Code hab ich noch nie gesehen....
|
Ich bin ja grade auch erst am Lernen, evtl. bin ich nicht die cleverste, aber c# lernt man ja auch nicht von heute auf morgen, das Ergebnis von deinem Verbesserungsvorschlag bewirkt das gleiche wie meine Lösung oben. Bekommst aber trotzdem n thx, auch wenn deine Wortwahl nicht freundlich auf mich wirkte
Quote:
Originally Posted by theredvex
ist es nich ansich der Fehler das die IF function in den Checkbuttons sind? wäre es nicht einfacher nach dem Buttonklick abzufragen welcher von den beiden gecheckt ist und dort durch die IF Button 1 checked -> id1 else -> id2<<
|
Ja, das wäre vermutlich Sinnvoller  Danke
Quote:
Originally Posted by Adroxxx
#moved
|
aehmmm... Danke
edit : Achja ... Keks gegessen, Problem gelöst, war im nachhinein zu simpel, danke an alle, die mir geholfen haben und vorallem an theredvex für den Denkanstoß
|
|
|
 |
Similar Threads
|
Wie mache ich das? Anfängerfrage
04/20/2011 - General Coding - 1 Replies
Guten Tag,
wie kann ich meine, mit Autoit geschriebene datei, so einstellen, das sie keiner lesen kann?
Also wenn ich sie jetzt bei elitepvpers reinstellen würde und sich andere sie downloaden, das sie dann nicht das Script sehen?
Danke im voraus,
MfG netterwurm8
|
Anfängerfrage
02/17/2011 - General Coding - 5 Replies
Heyy...
Ich weiß ,dass sich viele vll. aufregen über meine Frage aber dennoch möchte ich sie stellen
Also es geht um C++
Ich hab die 2008 Express Edition
ich gebe folgendes ein:
|
Anfängerfrage : Visual C++
12/27/2010 - .NET Languages - 9 Replies
Hallo,
ich bekam zu Weihnachten ein Buch Für C++ für Anfänger, gut ich fing also an mir das Buch durchzulesen, ich sollte eingeben :
#include <iostream>
using namespace std;
void main()
{
cout << "hallo welt" << endl;
}
|
Anfängerfrage: Buchstaben verrücken
10/23/2010 - AutoIt - 10 Replies
Hi epvp,
Ich habe gestern in der Schule vom Cäsar Code gehört, und dachte mir, ich mache ein Programm draus.
Was ist der Cäsar Code?
Man macht sich mit seinem Gegenüber /Empfänger der Botschaft eine Zahl zwischen 1 und 25 aus. Als Beispiel nehme ich jetzt die 4. Jetzt schreibt der Sender jeden Buchstaben um 4(ausgemachte zahl) Buchstaben versetzt. Aus "A" würde also "E" werden, weil "E" 4 stellen Weiter ist...
A(das was man schreiben will), B, C, D, E(4 stellen weiter)
so würde aus...
|
Guild wars Anfängerfrage
06/26/2010 - Guild Wars - 2 Replies
Hallo, ich wollte mir GW holen, hab jetzt aber gehört,dass das Spiel viel auf zusammenhalt bassiert und man die großen schlachten nur mit seiner Gilde spielen kann. Ich weiß das man alleine arena schlachten machen kann z.b 2v2, aber die großen nur mit der Gilde. Da ich zu unterschiedlichen zeiten immer on bin wollte ich fragen ob das stimmt?
|
All times are GMT +1. The time now is 16:22.
|
|