Okno bez křížku pro vypnutí   zodpovězená otázka

VB.NET, WinForms, WinAPI

Zdravím,

kdo používáte Nero, jistě víte, že v průběhu vypalování je tlačítko pro vypnutí okna nedostupné. Zajímalo by mne, zda tato situace nastávání jen při používání hardwaru oknem, a popřípadě jak toto tlačítko deaktivovat.

Taky jsem se setkal s pár aplikacemi, které měli to tlačítko (resp. jejich dialogy) skryté úplně, to mě spíše zajímá.

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jak vypnout samotný křížek nevím, ale jde vypnout celý ovládací box

    Me.ControlBox = False

Jenotlivě jen min. a max

    Me.MaximizeBox = False
    Me.MinimizeBox = False

a přidat help

    Me.HelpButton = True

Vše je uvedeno proti default stavu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji, jde mi o to vypnout tlačítka, ale controlbox zachovat.

Já nevím jak je to udělané v Neru, ale myslím si (jako laik), že se křížek sám deaktivuje, když program používá hardwareové části, které nelze prostě vypnout (vypalovačka) bez jakéhokoliv upozornění. Nevím jak hodně se mýlím, ale je to jen má amatérská představa.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, prvky pro ukončení okna se prostě na dobu provádění operací (které by mohly poškodit vypalované médium při ukončení) zakáží.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Systémem, či programem?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

zkuste toto:

   Private Sub Form1_FormClosing(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim Cancel As Boolean = eventArgs.Cancel
        eventArgs.Cancel = True
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jeste jsem to radsi rozepsal, doufam ze ke spokojenosti

Private Sub Form1_FormClosing(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim UnloadMode As System.Windows.Forms.CloseReason = eventArgs.CloseReason
        Dim Cancel As Boolean = eventArgs.Cancel
        Me.label1.Text = UnloadMode.ToString
        'eventArgs.Cancel = True (aplikace se nezavre)
        'Pokusy o zavreni programu z ruznych stran 
        If UnloadMode = CloseReason.ApplicationExitCall Then eventArgs.Cancel = False
        If UnloadMode = CloseReason.FormOwnerClosing Then eventArgs.Cancel = False
        If UnloadMode = CloseReason.MdiFormClosing Then eventArgs.Cancel = False
        If UnloadMode = CloseReason.None Then eventArgs.Cancel = False
        If UnloadMode = CloseReason.TaskManagerClosing Then eventArgs.Cancel = False

        'priklad dotazu po kliknuti na 'X'
        If UnloadMode = CloseReason.UserClosing Then
            Dim x As String
            x = MsgBox("Ukončit aplikaci?", vbYesNo, "Ukončení aplikace")
            If x = vbNo Then Cancel = True
            eventArgs.Cancel = Cancel
        End If

        If UnloadMode = CloseReason.WindowsShutDown Then eventArgs.Cancel = False
    End Sub

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback