Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 16:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# Anfängerfrage

Discussion on C# Anfängerfrage within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
PinkPowerPlant's Avatar
 
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 ?
PinkPowerPlant is offline  
Old 02/21/2012, 12:21   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Kurz zusammengefasst:
Das hier:

Ist kompletter Bockmist. Erst die Grundlagen lernen, dann mit dem GUI rumbasteln...

Das hier:

Ist vollkommen legitim.


EDIT: Du wärst im .NET Bereich btw mit deinem Thread hier besser aufgehoben.
xNopex is offline  
Old 02/21/2012, 14:25   #3

 
boxxiebabee's Avatar
 
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....
boxxiebabee is offline  
Thanks
1 User
Old 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?
SmackJew is offline  
Old 02/25/2012, 09:30   #5
 
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
Quote:
Originally Posted by SmackJew View Post
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.
jacky919 is offline  
Old 02/25/2012, 09:30   #6
 
elite*gold: 0
Join Date: Aug 2009
Posts: 127
Received Thanks: 27
Quote:
Originally Posted by Lizzaran View Post
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 <<
theredvex is offline  
Thanks
1 User
Old 02/25/2012, 12:55   #7

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
#moved
Adroxxx is offline  
Thanks
1 User
Old 02/25/2012, 13:02   #8

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Quote:
Originally Posted by theredvex View Post
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.
boxxiebabee is offline  
Old 03/08/2012, 01:30   #9
 
PinkPowerPlant's Avatar
 
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 View Post
[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 View Post
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 View Post
#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ß
PinkPowerPlant is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.