1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Iniciante com dúvida em C#

Discussão em 'Programação' iniciada por andylux, 29 de Março de 2013. (Respostas: 5; Visualizações: 924)

  1. Olá a todos,
    Estou a dar os primeiros passos na programação, em C#, e estou a precisar de ajuda.
    É o seguinte, criei uma TextBox1 e um Button1, mais abaixo criei um Panel1 dentro do qual tenho uma TextBox2 e TextBox3, ambas numa linha.
    O meu objetivo seria colocar um número na TextBox1, por exemplo número 3, e após clicar no Button 1, automaticamente surgiriam 3 linhas abaixo da TextBox 2 e 3, apresentando as novas TextBoxs com as mesmas dimensões. Ou seja, o número de TextBoxs que irão aparecer varia consoante o número que é introduzido na TextBox1.
    Será que alguém me pode ajudar?

    Cumprimentos
     
  2. ReginoCoeli

    ReginoCoeli Power Member

    Boas.
    Fiquei um bocado confuso. Queres que apareçam 3 textbox ou 3 linhas?
     
  3. Quero que apareçam 3 linhas com 2 colunas, um total de 6 textbox, para o caso do numero de entrada ser 3. Após clicar no button1, numa determinada localização, dentro do panel1, iriam aparecer as textbox.
     
  4. Boa tarde,

    O que tu desejas é algo deste género (fiz uma pequena sample em WPF, usando C#)?

    XAML:

    Código:
    <Window x:Class="Zwame_785280_WpfApplication.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid Margin="15">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="0.70*"/>
                <ColumnDefinition Width="0.30*"/>
            </Grid.ColumnDefinitions>
            <TextBox x:Name="TextBox1" Text="3" />
            <Button x:Name="Button1" Click="Button1_Click_1" Grid.Column="1" Content="Gerar" />
                    
            <StackPanel x:Name="HorizStack" Grid.Row="1" Grid.ColumnSpan="2" Orientation="Horizontal">            
                <TextBox x:Name="TextBox2" Text="{Binding Path=Name, RelativeSource={RelativeSource Self}}" />
                <TextBox x:Name="TextBox3" Text="{Binding Path=Name, RelativeSource={RelativeSource Self}}" />
            </StackPanel>
    
            <ScrollViewer Grid.Row="2" Grid.RowSpan="3" Grid.ColumnSpan="2" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
                <StackPanel x:Name="DinamStack" Grid.Row="2" Grid.ColumnSpan="2" Orientation="Vertical">
                </StackPanel>
            </ScrollViewer>        
        </Grid>
    </Window>
    Code-Behind:

    Código:
    namespace Zwame_785280_WpfApplication
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            //Uncomment to fix a width...
            //private const double DIM_TXTBOX_WIDTH = 100;
    
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void Button1_Click_1(object sender, RoutedEventArgs e)
            {
                DinamStack.Children.Clear();
    
                int nTextBox = 0;
                if (!String.IsNullOrEmpty(TextBox1.Text) && int.TryParse(TextBox1.Text, out nTextBox))
                { 
                    for(int i = 0; i < nTextBox; i++)
                    {
                        TextBox dimTxtBox = new TextBox();
                        dimTxtBox.Text = i.ToString();
                        //dimTxtBox.Width = DIM_TXTBOX_WIDTH;
    
                        DinamStack.Children.Add(dimTxtBox);
                    }
                }
            }
        }
    }
    Recomendo-te vivamente (mas mesmo VIVAMENTE) que estudes muito bem, pois para este exemplo (e muitos outros) precisas, como se usam Panels. É uma das partes mais importantes de quaquer framework GUI. Fiz questão de usar também Binding, que dá imenso jeito em WPF.

    Espero que isto te ajude.

    P.S: Para saberes como criar um projecto WPF, tens o tutorial "How to create a simple WPF application"
     
    Última edição: 29 de Março de 2013
  5. Obrigado pela ajuda. Vou tentar.
     
  6. Olá andylux.

    Conseguiste resolver o teu problema?
     

Partilhar esta Página