6
respostas

C# windows forms componente de menu

Olá, eu precisava criar um tipo de menu css, com opções de submenu, exemplo:

Categoria -> Programação -> C#

Seria uma tabela do banco com a coluna categoria e a pessoa clicaria na aplicação em Programação e abriria a opção C#.

Combobox serve? E se tive mais uma opção dentro de C#?

Qualquer referência da web serve, meu problema é que eu não sei o que procurar e dificulta na busca.

6 respostas

Olá, Gisele

Já tentou usar o controle padrão de Menu do Windows Forms?

Ou esse tipo de menu não é adequado pra você?

Existem outras opções, porém queria saber mais ou menos o layout que você precisa na sua aplicação.

Boa!!

Obrigada, eu optei pelo combobox, ainda não defini o layout, estou testando as opções, para ver como fica melhor.

Eu tentei puxar dados do banco, mas ele fala que o objeto video é inválido, que seria a tabela, peguei código de internet e não entendi muito bem, aprendi só textbox e o comcobox tem muitas propriedades:

public partial class Form1 : Form
    {
        SqlCommand cmd;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string str = @"Data Source=nomedocomputador\SQLEXPRESS;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
            SqlConnection con = new SqlConnection(str);

            try
            {
                comboBox1.Items.Clear();
                con.Open();
                cmd = con.CreateCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "select * from video";
                cmd.ExecuteNonQuery();
                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
                foreach (DataRow dr in dt.Rows)
                {
                    comboBox1.Items.Add(dr["titulo"].ToString());
                }
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

É um trabalho de curso, eu queria listar uma tabela de videos com miatura e informação dos vídeo, bem básico, mas não estou conseguindo puxar os dados do banco... E a parte da imagem achei meio complicado, não entendi os tutoriais, vi uns de datagridview, mas não entendi onde fica a imagem, sou de web e tem umas coisas de arquivo, vou cortar essa parte. Mas ainda preciso puxar os dados.

Eu mudei um pouco e agora fala que a propriedade connection não foi inicializada

Oi Gisele

Eu tentei puxar dados do banco, mas ele fala que o objeto video é inválido É um trabalho de curso, eu queria listar uma tabela de videos com miatura e informação dos vídeo, bem básico, mas não estou conseguindo puxar os dados do banco...

Dê uma olhada nessa consulta:

cmd.CommandText = "select * from video";

No banco de dados, existe mesmo uma tabela "video"? Nâo é "videos" (no plural)?

E a parte da imagem achei meio complicado, não entendi os tutoriais, vi uns de datagridview, mas não entendi onde fica a imagem, sou de web e tem umas coisas de arquivo, vou cortar essa parte. Mas ainda preciso puxar os dados.

Sobre a exibição de imagens no grid, o mais adequado mesmo é o controle DataGridView que você mencionou:

https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-customize-data-formatting-in-the-windows-forms-datagridview-control

Qual a sua dificuldade com esse controle? Pode postar o código aqui pra gente?

Obrigada. Descobri o problema do banco, era o caminho, acontece que eu estou testando em máquinas diferentes, então tem que tomar cuidado com essa linha:

string str = @"Data Source=nomedocomputador\SQLEXPRESS;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; SqlConnection con = new SqlConnection(str);

Eu acabei voltando para o combobox, porque não achei como criar o menu strip com dados do banco. Mas eu achei interessante, era isso que eu precisava, seria um menu lateral.

Ainda vou olhar os links.