vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 20:06

Jetzt habe ich gerade noch eine Sicherheitslücke in C Sharp gefunden. Der Anwender kann das Form am X einfach zumachen ohne das das Formular darauf reagiert und das gesamte laufende Programm wird einfach abgeschossen. Das ist ja ein Ding ich bin entsetzt! Gibt es dafür ein Update oder wie würde ich das Kreuz in der Form ausgrauen wenn ich eine Titelleiste für mein Form haben möchte aber eben ohne die Möglichkeit des schliessens durch bösartige Anwender.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 20:19

Keine Panik!

Eine kleines Eventhandling auf der Form und das bösartige Schließen läuft ins Leere ....

 private void frmBookmark_FormClosing(object sender, FormClosingEventArgs e)
   {
       if (e.CloseReason== CloseReason.UserClosing )
         {
             e.Cancel = true;
         } 
   }
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 20:26

Lies sich ohne Fehler reinkopieren und ausführen. Danke Manfred. Nur Schliessen tut sich das Form1 trotzdem wenn ich auf das Kreuz drücke. Benötigt Dein Text noch eine zusätzliche Einstellung vielleicht an der Form selbst in den Eigenschaften? Habe im Moment ein neues Projekt und das reinkopiert mit der Standard Form. Es bringt keine Fehler das Kreuz ist auch noch da und wenn ich draufklicke ist das Programm gleich wieder zu.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 20:35

Du hast die Routine als Eventhandler der Form angegeben ..... ???
this.FormClosing += new FormClosingEventHandler(frmBookmark_FormClosing);
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 20:38

Achso geht das nicht automatisch durch die Funktion selbst? Wo füge ich das dann ein?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 20:41

z.B. im Form_Load-Event
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 20:55

Load Event sehe ich keinen im Form Modul. Habs jetzt unter 'InitializeComponent();' direkt eingefügt und kriege einen Fehler der auch mit der Try...Catch Anweisung nicht weggeht. Wie gehts jetzt weiter? Woher kriege ich den Load Event warum ist der nicht schon da?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 21:17

Hier ein Beispiel ....
Der Button entscheidet, ob das Schließen der Form abgebrochen wird oder nicht.
using System;
using System.Windows.Forms;
 
namespace FormTest
{
    public partial class FormX : Form
    {
        private Button btnSperre = new Button();
 
        private Boolean Sperre  = false;
 
        public FormX()
        {
            InitializeComponent();
        }
 
        private void FormX_Load(object sender, EventArgs e)
        {
            btnSperre.Text = "Sperren";
            btnSperre.Parent = this;
 
            btnSperre.Click += new EventHandler(btnSperre_Click);           
            this.FormClosing += new FormClosingEventHandler( _
              this.FormX_FormClosing);
        }
 
 
        private void FormX_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.UserClosing)
            {
                if (Sperre == true)
                {
                    MessageBox.Show("Schließen ist gesperrt");
                    e.Cancel = true;
                }
            }
        }
 
        private void btnSperre_Click(object sender, EventArgs e)
        {
            Sperre = !Sperre;
 
        }
 
 
    }
}
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 21:24

Danke Manfred. Müsste ich dann FormX in Form1 umbenennen damit das kopieren klappt? Kriege an die 10 Fehler in meinem normalen Modul. Die Fehler sagen nicht genau was falsch ist und sind auf Englisch. Von Googel übersetzt heisst es da: Falsches Signal Struktur Eingang Mitglied nicht festgelegt.
Der Fehler sagt mir auch auf Deutsch leider nichts
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 21:32

Erstelle eine neue Form namens FormX und füge den fehlenden Code dort ein.
In der Datei "Program.Cs" muß dann eine Zeile geändert werden:
Application.Run(new FormX());
Damit wird FormX zum StartFormular des Projekts.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 21:44

Bei mir gibts nur eine Form1.cs was anderes sehe ich nicht auf dem Bildschirm. Ich habe das neue FormX erstellt d.h. nicht ganz es heisst nämlich hier 'Form2'. Jetzt habe ich eine Form2.cs zusätzlich. Beim Form2 ist der Schliessen Knopf weder grau noch verschwunden. Bei Form1 ist er auch noch da.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Manfred X
Datum: 19.01.15 22:00

Nicht der Schließen-Button verschwindet, sondern nach einem
Druck auf diesen Knopf läßt sich die Form nicht mehr per [X] schließen,
sondern es wird eine Meldung ausgegeben.
Nach einem erneuten Click auf den Button kann die Form geschlossen werden.


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schliessen Knopf in C Sharp Form1 ausgrauen 
Autor: Tortenesser
Datum: 19.01.15 22:09

Danke Manfred. Das Problem ist das beide Forms immer noch zugehen wenn ich das Kreuz anklicke. C Sharp ignoriert irgendwie Deinen Text bei mir im Programm. Warum weis ich nicht oder es fehlt etwas was ich vergessen habe zu machen. Der Load Event war auch im zweiten Form nicht verfügbar. Ist doch komisch oder? Aber ich bin mir sicher dass ich die neuste Version des Studio installiert habe. Es gibt zur Zeit keine Updates hmmm
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel