Autor Beitrag
marvinjust
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 31.03.11 16:16 
Hey Leute,

ich wollte ein Programm schreiben, was ein Rechteck zeichnet und wenn man mit der Maus über das Rechteck ist, soll sich der Mauszeiger in ein Kreuz verändern.

Das ist mein Quelltext:
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:
39:
40:
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 WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Rectangle rec = new Rectangle(100100100100);
                
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Pen p = new Pen(Brushes.Black);

            g.DrawRectangle(p , rec);
            Region regInner = new Region(rec);
            regInner.IsVisible(rec);
        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (rec.regInner.IsVisible(e.Location))
            {
                Cursor.Current = Cursors.Cross;
                return;
            }
        }
    }
}


Leider funktioniert das nicht.

Könntet ihr mir den zum Laufen bringen??

MfG
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 31.03.11 18:56 
Hallo,

dein Code kompiliert ja noch nicht einmal (ein Rectangle hat keine Eigenschaft namens regInner)...

Probiere mal im MouseMove-Ereignis:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Region regInner = new Region(rec);

if (regInner.IsVisible(e.Location))
{
   Cursor.Current = Cursors.Cross;
}
else
{
   Cursor.Current = Cursors.Default; // zurücksetzen 
}
marvinjust Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 31.03.11 20:16 
Besten Dank. Hat geklappt.
Ich bin noch recht neu auf dem Gebiet.