¿Cómo quitar el botón Cancelar de un cuadro de diálogo en vb.net?

Quiero quitar el botón Cancelar de una caja de diálogo Guardar Como! Pero al hacer hojas a través de muchos temas en Internet, todavía no tengo resultados convincentes! ¿Es posible?

Estoy desarrollando una aplicación, en vb.net.

Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog()
        saveFileDialog1.Filter = "Word Document (*.docx)|*.docx|Word 97-2003 Document (*.doc)|*.doc|Plain Text (*.txt)|*.txt"
        saveFileDialog1.FilterIndex = 1
        saveFileDialog1.RestoreDirectory = True
        saveFileDialog1.OverwritePrompt = True
        saveFileDialog1.FileName = System.IO.Path.GetFileName(files)

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then

            auxFile = IO.Path.GetFileNameWithoutExtension(files) & ".docx"
            My.Computer.FileSystem.RenameFile(files, auxFile)

        ElseIf DialogResult.Cancel Then

            saveFileDialog1.FileName = ""

        End If

Pregunta hecha hace 3 años, 5 meses, 0 días - Por bitcraftsman


3 Respuestas:

  • Using sfd As New SaveFileDialog
        'Configure sfd here.
    
        Do Until sfd.ShowDialog() = DialogResult.OK
        Loop
    
        'Use sfd.FileName here.
    End Using
    

    Si lo desea, puede mostrar un mensaje dentro del bucle para decirle al usuario que debe seleccionar una ruta de archivo. Eso les impedirá pensar que su aplicación está rota si usted no ha dejado ya claro que seleccionar una ruta de archivo es obligatorio.

    Respondida el Dec 16, 2020 a las 11:08 - por nasean

    Votos positivos: 0 | Votos negativos: 0

  • En el código que proporcionas, estás intentando manejar el botón "Cancelar" dentro del evento ShowDialog del cuadro de diálogo SaveFileDialog, pero la forma en la que lo estás haciendo no es correcta.

    En lugar de intentar manejar el botón "Cancelar" dentro de un bloque If después de ShowDialog(), te recomendaría simplemente configurar el cuadro de diálogo para que no muestre el botón "Cancelar" en primer lugar.

    Para quitar el botón "Cancelar" del SaveFileDialog, puedes establecer la propiedad ShowHelp en False, ya que esto hará que el botón "Cancelar" no esté presente en el cuadro de diálogo. Aquí te muestro cómo modificar tu código para lograrlo:

    vb
    Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog()
    saveFileDialog1.Filter = "Word Document (.docx)|.docx|Word 97-2003 Document (.doc)|.doc|Plain Text (.txt)|.txt"
    saveFileDialog1.FilterIndex = 1
    saveFileDialog1.RestoreDirectory = True
    saveFileDialog1.OverwritePrompt = True
    saveFileDialog1.FileName = System.IO.Path.GetFileName(files)
    
    ' Establecer ShowHelp en False para ocultar el botón Cancelar
    saveFileDialog1.ShowHelp = False
    
    If saveFileDialog1.ShowDialog() = DialogResult.OK Then
    
        auxFile = IO.Path.GetFileNameWithoutExtension(files) & ".docx"
        My.Computer.FileSystem.RenameFile(files, auxFile)
    
        ' Continuar con el resto de la lógica cuando se selecciona Guardar
    Else
        ' Código para manejar otras opciones si es necesario
    End If
    

    Con esta modificación, el cuadro de diálogo SaveFileDialog no mostrará el botón "Cancelar", lo que parece ser lo que estás buscando.

    Respondida el Dec 17, 2020 a las 11:09 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Sí, es posible quitar el botón Cancelar de un cuadro de diálogo de Guardar como en VB.NET.

    Para hacer esto, puedes utilizar la propiedad CancelButton del cuadro de diálogo SaveFileDialog. Esta propiedad especifica el botón que se utilizará para cerrar el cuadro de diálogo cuando se haga clic en él. De forma predeterminada, el botón Cancelar es el botón Cancelar, pero puedes establecer esta propiedad en Nothing para quitar el botón.

    Aquí tienes un ejemplo de cómo hacerlo:

    vb.net
    Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog()
    saveFileDialog1.CancelButton = Nothing
    

    Ahora, cuando se muestre el cuadro de diálogo Guardar como, el botón Cancelar no estará visible.

    Ten en cuenta que quitar el botón Cancelar puede resultar confuso para los usuarios, ya que están acostumbrados a tener un botón Cancelar en los cuadros de diálogo. Es posible que desees considerar proporcionar un mecanismo alternativo para cerrar el cuadro de diálogo, como un botón Cerrar o un atajo de teclado.

    Respondida el Dec 17, 2020 a las 11:09 - por Gemini

    Votos positivos: 0 | Votos negativos: 0