Laden...
Y
youngSTAR myCSharp.de - Member
Informatik Azubi Dabei seit 13.11.2009 17 Beiträge
Benutzerbeschreibung

Forenbeiträge von youngSTAR Ingesamt 17 Beiträge

15.01.2010 - 13:12 Uhr

Wenn du nun in der Form die Mouse drückst, und den debugger anhast und einen BreakPoint in der MouseDownMethod hast, dann landest du darin.

Verstanden?

genau hier ist ja das problem:


form.MouseDown += new System.Windows.Forms.MouseEventHandler(MouseDownMethod);

form HAT die Ereignisse. Rectangle nicht.

ich möchte das die Rectangle auf ein Mausklick reagieren, und das via Ereignisse.

15.01.2010 - 12:11 Uhr

herbivore, du verstehst mich falsch, oder ich habe mich falsch ausgedrückt.

 
foreach(Rectangle element in elements){
if (e.X > element.Posx && e.Y > element.Posy && (element.Posx + element.Width) > e.X && (element.Posy + element.Height) > e.Y)
                {
                    _selection = element;
                    posX = e.X - _selection.Posx;
                    posY = e.Y - _selection.Posy;

                    _selectedRectangle = true;
                    return;
                }
}

wie man Zeichnet, dass weiss ich. Auch wie man die Rectangles etc verschiebt, alles Kein Problem.

ich habe nur mühe mit dem "MouseDown","MouseMove","MouseUp". Wenn das wirklich in die Grundlagen gehört, dann zeigt mir wo ich das finde, wie man dies bestimmt.
Ich habe gesucht, und nichts gefunden.

Vom link der rollerfreak2 (thx!) geposted hat, konnte ich nur folgende zeile entnehmeN:

public event MouseEventHandler MouseDown;

also habe ich in meiner Klasse zwar ein "MouseDown"-Ereigniss, doch es heisst nur so, aber reagiert nicht auf ein physisches MouseDown.

Verstanden?^^

Danke

15.01.2010 - 10:57 Uhr

Guten Morgen 😃

Kann mir wer helfen/erklären, wie man ein "MouseDown/MouseClick/etc" Ereignis programmiert?

Ich brauche für ein Projekt die Eigenschaft, das ich meine Rectangles verschieben kann. Also dachte ich mir über "MouseDown" und "MouseUp" könnte dies Funktionieren. Doch "Rectangle" ist ja keine Klasse, und man kann sie nicht vererben, und "umprogrammieren".

Danke

03.12.2009 - 15:46 Uhr

ich hab eine einfachere Lösung als die, mit Threads gefunden. Natürlich ist das Programm abhängig.

Ich hab mit dem Code folgendes erreicht:1.Daten via DirectoryInfo in eine List<FileInfo> lesen 1.Eine Datei nach der anderen bearbeiten 1.Dem User ermöglichen, die bearbeitete Datei zu kontrollieren bevor die nächste Datei bearbeitet wird

ginge bestimmt auch einfacher, aber dies ist meine Lösung 😃


private List<string> Liste = new List<string>();
private int iCounter = 0;
main()
{
    Liste.Add("HalloWelt");
    Liste.Add("Test123");
    Liste.Add("FuncFoo");

    StartProcess(true);
}

StartProcess(bool state)
{
    while(state)
    {
        //do anything
        ....
        s = s.Replace("H","B");
        s = s.ToLower();

        iCounter++;
        state = false;
    }
}
btnStart_Click(object sender, EventA e)
{
    //do anything

        StartProcess(true);
}
03.12.2009 - 09:37 Uhr

es war ja nur so ein code zum aufzeigen WO das Problem liegt, dass die Argumente falsch sind/fehlen ist mir schon klar.

Und ja, die ArrayList, was soll ich sagen, angewohnheit vom Java programmieren, aber danke, versuch ich mir umzugewöhnen!

Danke für die schnellen Antworten

03.12.2009 - 09:22 Uhr

Guten Morgen,

mich würde generell mal interessieren, ob es möglich ist ohne zuu komplexe programmierung eine Foreach schlaufe zu unterbrechen, und an diesem Punkt dann auch nach einem Ereigniss weiter laufen lassen.

also im prinzip so:

private ArrayList Liste = new ArrayList();
main()
{
    Liste.Add("HalloWelt");
    Liste.Add("Test123");
    Liste.Add("FuncFoo");

    foreach(String s in Liste)
    {
        //do anything
        ....
        s = s.Replace("H","B");
        s = s.ToLower();

        //Stop and Wait for btnStart_Click(s)
    }
}

btnStart_Click(String s)
{
    MessageBox.Show(s);
}

Die Anwendung sollte an dem punkt wo //Stop and Wa... steht, warten bis derButton btnStart geklickt worden ist, erst dann soll es weiter gehen.

03.12.2009 - 08:27 Uhr

@t2t: genau so hatte ich es auch, nur das ich vergessen hatte, meine Bedingung zu formatieren (in der DGV ist alles ToLower und meine Bedingung hatte Grossbuchstaben )

vielen dank!

30.11.2009 - 13:46 Uhr

Entweder ich bin zu dumm oder ich verstehe deine Frage nicht.

ich möchte das die Zellen direkt gefärbt werden, und nicht erst wenn die ganze DGV geflüllt ist !

ein beispiel wäre eigentlich eine nicht so schlechte idee

30.11.2009 - 13:01 Uhr

Guten Tag

Ich wollte nachfragen, wie man es ermöglichen könnte, über DataRow die Felder einer DataGridView zu färben?

DataRow dr = dt.NewRow();
dr[0] = strText;
dr[1] = strText2;
dr[2] = strText3;
dt.Rows.Add(dr);

mit dieser Methode füge ich die Elemente in meine DataTable (dt) und diese Anschliessend per .DataSource an die DGV.

gäbe es hier nicht iwie eine möglichkeit den Wert in strText abzufragen, und falls der false ist, soll das Feld "gefärbt" werden?


if(strText == "Fehler";)
dr[0].Style.BackColor = Color.Red;

dr[0] = strText;

irgendwie in diesem stil..

freundliche grüsse

26.11.2009 - 14:12 Uhr

Guten Tag.

Ich wollte nachfragen, ob jmd ein gutes Tutorial kennt oder mir helfen kann, bei folgendem Problem:

Ich lade ein Bild in eine PictureBox.

Bitmap bmp = new Bitmap(strPfad);
pictureBox1.Image = bmp;

und nun will ich mit der Maus ein Rechteck zeichnen können, und die Werte (breite/höhe/posx/posy) Speichern können.

Beim "ziehen" des Rechtecks, sollte es Dynamisch aussehen, also es soll nicht "punkt-zu-punkt" angezeigt werden, sondern dynamisch sprich fliessend.

Besten Dank

(diesen link hab ich schon angeschaut, aber wie das mit den Rect. funktionieren soll, weiss ich leider nicht 😦 http://www.tsql.de/csharp/csharp_auf_form_zeichnen_freihand_malen.php)

26.11.2009 - 08:46 Uhr

Hallo -

Ich schreibe jetzt den Inhalt + Bildnamen zuerst in ein DataTable, und diese Binde ich der DGV an.

Aber wie kann ich in einer DataTable eine ComboBox einfügen?
ich bräuchte die Spalten bezeichnungen von einer Excel-Tabelle (A,B,C,D,E,...)

table.Columns.Add(new DataColumn("Spalte", typeof(ComboBox)));

funktioniert leider nicht.

könnte mir wer helfen?

freundliche grüsse

23.11.2009 - 12:49 Uhr

Guten Tag,

Ich habe irgendwie einen knoten im kopf und komme nicht mehr weiter 😦

also:
ich lese Bilder in einem definiertem Verzeichnis aus, und schreibe den Inhalt (OCR) + den Bildnamen in eine DataGridView


Bildname | Bildinhalt              | Spalte
abc         | Inhalt des Bildes   |  A

das Funktioniert so weit so gut!

Nun sollte der GANZE inhalt der DataGridView in ein Excel-Sheet kommen.
in der Spalte "Spalte" soll man angeben können, wo der Inhalt gespeichert werden soll. also Bildname und Spalte sind eigentlich irrelevant für das Excel-Sheet, Spalte sollte einfach die Position angeben.

ich habe mir überlegt, das ganze über eine foreach-Schleife auszugeben, leider habe ich KEINEN PLAN wie.

oSheet.Cells[row + counter, 1] = &wert; wäre ja klar der inhalt der Schleife, aber wie gesagt, wie soll ich das anstellen, das ich &wert; mit einer Celle ersetzen kann welche geschrieben werden soll ?

freundliche grüsse

19.11.2009 - 15:19 Uhr

also es sollte keine Anschuldigung sein oder sonst was, falls es falsch verstanden wurde, tut es mir leid.

da ich kB hab mein Code herinzuposten, wollte ich nur gesagt haben, was da nicht aufgeht, falls ein anderer Anfänger das gleiche Problem hat, und er die Fehler nicht sieht.

danke euch beiden 😃

19.11.2009 - 13:49 Uhr

@Lion:
jap hab es bemerkt, hatte danach ein Thread.Sleep(intVal); zwischen jedem SendKeys eingebaut (ich weiss nicht die schönste variante aber ist ja nur so ein "Fun"projekt):))

@m74:
genaaaaaaaau das hab ich gesucht 😃 danke dir
ich weiss zwar nicht ob's dich interessiert, aber ".Length" ist eine Eigenschaft und keine Methode, deshalb ohne () ^^
und das array, wird mit [] indexiert und nicht mit ()
und weil .Send() ein string erwartet, muss das ganze noch zu einem String geparst werden 😃)

achja, und KeyCounter muss wieder auf 0 gesetzt werden, wenn aryKeysToSend.Length erreicht ist.

Danke!!!:)))

19.11.2009 - 09:37 Uhr

also, es ist ein Browserspiel. Man kann ohne Problem das Browserfenster neben einer Anwendung laufen lassen. Ich hab es auch schon versucht, leider erkennt das Spiel immer nur das A! Das Browser-Fenster muss einfach ausgewählt sein, das ist logisch (damit SendyKeys die Werte auch dort hin verschickt!)

mit 1. 2. 3. meinte ich, das es die Buchstaben a - z SEQUENTIELL senden soll, und nicht als EIN STRING.

also zwischen:
a - b - c - d etc soll immer 100ms dazwischen sein oder so!


private void timer1_Tick(object sender, EventArgs e)
        {
                SendKeys.Send("a");
                SendKeys.Send("b");
                SendKeys.Send("c");
        }

--> dies sendet EINEN string von "abc". Ich nehme an das es zu schnell für das Spiel ist, und deshalb erkennt es nur das "a".
wenn ich zwischen den Buchstaben einen Unterbruch bewerkstelligen könnte, könnte es vielleicht funktionieren, aber kA ..

19.11.2009 - 09:10 Uhr

Guten Morgen!

Also, ich wollte ein Prog. schreiben, welches die Buchstaben a - z ausgibt (per Sendkeys).

Mein Ziel ist es, mein Prog auf ein Spiel wirken zu lassen, wo "wörter" von oben runter geschossen kommen, und man in kürzester Zeit das Wort "getippt" haben muss.

Ich habs via Timer versucht:


SendKeys.Send("a");
SendKeys.Send("b");
...
SendKeys.Send("z");

Doch die ausgabe ist nicht 1.a 2.b 3.c... sondern 1. abcdefgh...

kann mir wer helfen?

eine Idee wäre natürlich ein "+1"...

Freundliche Grüsse

13.11.2009 - 16:43 Uhr

Guten Tag!
Ich habe schon ein paar Beispiele angeschaut, wie man die ListViews (subitems) editieren kann.

Nun wollte ich selber sone "art" schreiben und bin auf folgende Idee gestossen.

Über das DoubleClick-Event rufe ich folgenden Code auf:

System.Windows.Forms.ListViewItem.ListViewSubItem temp = new ListViewItem.ListViewSubItem(listViewItem1,"tset");
            listViewItem1.SubItems.Insert(1, temp);

Bsp:

Ueberschrift1 | Ueberschrift2
daslistviewitem| dassublistviewitem

wird dann auf "tset" verändert!

nun,
kann ich irgendwie anhand der Position der Mouse (wäre nur EIN PUNKT), die Dort liegende Komponente auslesen?

Grund:
wenn ich herauslesen könnte welches ELEMENT sich dort befindet, könnte ich eine Textbox genau dort hin setzen (x,y,width,height).

besten dank