Hola a todos
Vereis, tengo un problema con la visibiliad de un objeto, por ejemplo un Text Box.
La cosa es, yo inicio un programa de formularios de windows, le añado un text box y ahora intento modificar sus propiedades. Desde distintos lugares.
Me voy al MainForm.cs (donde esta añadido mi textBox1) y este es el código que el compilador me pone por defecto:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Prueva
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
}
}
Ahora kiero q se muestre "Hola" en el textbox al iniciar y hago esto:
namespace Prueva
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
void MainFormLoad(object sender, EventArgs e)
{
textBox1.Text = "Hola";
}
}
}
OK todo perfecto. El problema me viene dado al intentar hacer esto mismo pero desde una clase.... me explco con codigo:
namespace Prueva
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
}
class miClase
{
// La constructora
miClase()
{
textBox1.Text = "Hola"; //Esta es la linea donde <---
//salta el error <---
}
}
}
En la línea indicada me salta el siguiente error: "The name 'textBox1' does not exist in the current context (CS0103)" vamos q el texbox no está visible para esa clase e provado a llamarlo de mil maneras distintas pero no lo consigo... alguien sabe como lo puedo llamar??
Gracias por la ayuda, por q aunke es una duda muy simple me trae de cabeza
El TextBox es una variable de la clase MainForm, con lo que es imposible que lo vea miClase... Si quieres que lo vea miClase haz una propiedad pública o algo así que devuelva el TextBox, pero si necesitas eso estás haciendo la aplicación mal casi seguro.
Un saludo,
Vicente
Hola Vicente
Veras lo q estoy tratando de hacer es una especie de jueguecillo de cuidar una mascota (tipo tamagochi) entonces tengo una clase que contiene su estado de salud (hambre, sueño, etc...)
Lo q kiero hacer es que tu le des de comer por poner un ejemplo, llamamos a un miembro de la clase para que aumente la variable privada "hambre" y luego de ese valor a un Progress Bar, la cosa es que el progress Bar mi clase no lo ve... Habria alguna forma de hacer esto desde mi clase? o seria mejor que hiciera una "funcion" en la clase MainForm a la que pasandole la variable "hambre" modificara el progres bar??
Muchas gracias por la ayuda :wink:
Sip, se trata de organizar bien tu aplicación, leete esto:
http://en.wikipedia.org/wiki/Model-view-controller
Un saludo,
Vicente
Gracias por la ayuda ya lo solucioné ;)
Puede que halla un error ortográfico en prueva :?
se podria heredar tambien del mainform???...
Ya e provado y no, ademas me parece un poco basto hacer q herede todo el MainForm...