我正在使用可视化 C# 和 Windows 窗体。
我有一个父窗体,它调用它的子窗体,窗体子窗体的 FormBorderStyle 属性为无,最小化框和最大化框为 false,WindowsState 为最大化,但是当程序运行时,按钮最大化和最小化出现,尽管被禁用,它们仍然有效.
看附图。
代码:
this.WindowState = FormWindowState.Maximized;
this.Dock = DockStyle.Fill;
InicioSesion inicioSesionForm = new InicioSesion();
inicioSesionForm.MdiParent = this;
inicioSesionForm.Dock = DockStyle.Fill;
inicioSesionForm.ShowInTaskbar = false;
inicioSesionForm.MaximizeBox = false;
inicioSesionForm.MinimizeBox = false;
inicioSesionForm.Show();
有没有办法解决这个问题?
欢迎任何意见或建议。
更新:
IncioSession 表单中的代码:
using allSale.Clases;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace allSale
{
public partial class InicioSesion : Form
{
public InicioSesion()
{
InitializeComponent();
}
private void linkLabelRegistrarteLogin_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Registrarse registrarse = new Registrarse();
registrarse.MdiParent = (FormularioPrincipal) this.ParentForm;
registrarse.Dock = DockStyle.Fill;
registrarse.WindowState = FormWindowState.Maximized;
registrarse.Show();
this.Close();
}
private void btnEntrarLogin_Click(object sender, EventArgs e)
{
if (textCorreoLogin.Text.Length == 0)
{
MessageBox.Show("¡Debe ingresar un correo electrónico!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
else if (textClaveLogin.Text.Length == 0)
{
MessageBox.Show("¡Debe ingresar su contraseña de usuario!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
else
{
Validador validador = new Validador();
if (validador.correoElectronicoValido(textCorreoLogin.Text))
{
BaseDeDatos baseDeDatos = new BaseDeDatos();
String correoUsuario = baseDeDatos.obtenerCorreoUsuario();
if (!String.IsNullOrEmpty(correoUsuario))
{
String claveUsuario = baseDeDatos.obtenerClaveUsuario();
if (correoUsuario.Equals(textCorreoLogin.Text) && claveUsuario.Equals(textClaveLogin.Text))
{
Globals.idEmpresa = baseDeDatos.obtenerIDEmpresaPorRUC(baseDeDatos.obtenerRUCUsuarioPorCorreo(correoUsuario));
Globals.idUsuario = baseDeDatos.obtenerIDUsuarioPorCorreo(correoUsuario);
Vender formularioVender = new Vender();
formularioVender.MdiParent = (FormularioPrincipal)this.ParentForm;
formularioVender.Dock = DockStyle.Fill;
formularioVender.WindowState = FormWindowState.Maximized;
formularioVender.Show();
FormularioPrincipal parent = (FormularioPrincipal)this.ParentForm;
parent.visibleMenuGeneral(true);
//FormularioPrincipal formularioPrincipal = new FormularioPrincipal();
//formularioPrincipal.visibleMenuGeneral(true);
this.Close();
}
else
{
if (correoUsuario.Equals(textCorreoLogin.Text))
{
MessageBox.Show("¡La clave ingresada es incorrecta!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
else
{
MessageBox.Show("¡No existe un usuario con el correo ingresado!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
}
else
{
MessageBox.Show("¡No existe aún usuarios almacenados!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
else {MessageBox.Show("¡Debe ingresar un correo electrónio válido!", "allSale", MessageBoxButtons.OK, MessageBoxIcon.Stop);}
}
}
public static class Globals
{
public static int idEmpresa = 0;
public static int idUsuario = 0;
public static List<ProductosVender> listaProductosParaVenderX = new List<ProductosVender>();
}
private void InicioSesion_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
}
}
问题的更新 2:删除 DockStyle.Fill;
解决方案: