Vota por nosotros en el ranking web que participamos
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Octubre 07, 2008, 09:17:26
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
c# Problema con interfaz grafica Sudoku
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: c# Problema con interfaz grafica Sudoku (Leído 171 veces)
ECDundy
Habitual
Desconectado
Mensajes: 210
throw new exception(":)");
c# Problema con interfaz grafica Sudoku
«
en:
Noviembre 29, 2007, 12:46:58 »
hola a todos soy nuevo en programacion c# y tengo este problema.
La interfaz grafica de mi sudoku.
Debido a que deseo que cuando el usuario de clic en una casilla se marque de otro color .
Lo consegui hacer para una casilla, pero me parece absurdo tener que hacer lo mismo para cada una de las 81 casillas.
Si me pudieran ofrecer algunos consejos que pueda aplicar ya que construir un ciclo en este embrollo en el que me eh metido no es algo nada facil de calcular.
---------------
Aquí la interfaz grafica pintada directamente en el form
----------------
Código:
private void Sudoku_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
//propiedades
Graphics Table= this.CreateGraphics();
Pen line9x9= new Pen(Color.Maroon);
Pen line3x3= new Pen(Color.Blue);
int[] TableArr3x3=new int[3];
Font font = new Font("arial",15);
SolidBrush brush= new SolidBrush(Color.Chocolate);
int right=15,down=69,z=-8,j=35,numbersrows=0,numberscolumns=0;
int[] TableArr9x9=new int[9];
//grafico
for (int i=0;i<9;i++)
{
TableArr9x9[i]=right;
right+=35;
}
for (int k=0;k<9;k++)
{
numberscolumns+=1;numbersrows+=1;
e.Graphics.DrawString(System.Convert.ToString(numberscolumns),font,brush,-1,j+=35);
e.Graphics.DrawString(System.Convert.ToString(numbersrows),font,brush,z+=35,45);
for (int i=0;i<9;i++)
{
Table.DrawRectangle(line9x9, TableArr9x9[i]+.0F, down+.0F, 33.0F, 33.0F);
}
down+=35;
}
right=13;
down=67;
for (int k=0;k<3;k++)
{
TableArr3x3[k]=right;
right+=105;
}
for (int k=0;k<3;k++)
{
for (int i=0;i<3;i++)
{
e.Graphics.DrawRectangle(line3x3,TableArr3x3[i]+.0F,down+.0F,106,106);
}
down+=105;
}
if (flag)e.Graphics.FillRectangle(brush, X, Y, width, height);
}
------------------------------
Aqui la manera en que marco una casilla
-------------------
Código:
bool flag=false;
int height=0,width=0,X=0,Y=0;private void Sudoku_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
int Heightstart=69,Heightend=104,Widthstart=15,Widthend=50;
if(e.X <=Widthend && e.X>=Widthstart && e.Y <=Heightend && e.Y>=Heightstart)
{
height=Heightend-(35*2);
width=Widthend-16;
X=Widthstart;
Y=Heightstart;
flag = true;
}
else
{
flag = false;
}
this.Invalidate();
}
-------------------
Gracias por leer mi post
---------------------------------------------------
Código:
Así NIO?
«
Última modificación: Noviembre 29, 2007, 11:31:12 por ECDundy
»
En línea
Ni0
Gran Colaborador
Desconectado
Mensajes: 1365
Ni0-inside the source code
Re: c# Problema con interfaz grafica Sudoku
«
Respuesta #1 en:
Noviembre 29, 2007, 08:42:01 »
porque no lo pones entre <code></code> para verlo mejor?? (per en vez de <> pones [])
salu2!
En línea
Inside The Source Code
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Linux Registred User #460377
Ni0
Gran Colaborador
Desconectado
Mensajes: 1365
Ni0-inside the source code
Re: c# Problema con interfaz grafica Sudoku
«
Respuesta #2 en:
Noviembre 30, 2007, 09:18:04 »
si, a eso me referia con lo de code,
porque no agregas argumentos a la funcion, que sea la casilla que se apreto, pero tomalo como un ajedres, osea, 2 argumentos, por ejemplo, h y v, entonces si se preto en la primera casilla de arriba h = 1 y v = 1, si se apreto en la de abajo h = 1 v = 2, se entiende?? y de a cuerdo con esos valores marcas la casilla que necesitas, por ejemplo:
Código:
int hf = 0, vf = 0;
h--;
v--; /*asi se empieza desde el principio, sino cuando se inserte 1 para h y 1 para v, al multiplicar por 20 te va a dar que las coordenadas iniciales de la casilla son 20; 20 xD, al restarle uno va a empezar por 0; 0*/
h *= 20;
y *= 20;
/*ahi tenes las coordenadas iniciales de la casilla*/
hf = h + 20;
vf = h + 20;
/*y ahi las finales*/
/*...
y aca abajo pintas la casilla desde h; v, hasta hf; vf
...*/
ahora si queres saber en que casilla se apreto haces esto:
Código:
/*creo que e.X y e.Y es donde se hiso click con el mouse no?? es que no se C# xD, suponiendo que si el codigo seria...*/
int hi = 0, vi = 0;
while(e.X > hi)
hi += 20;
while(e.y > vi)
vi += 20;
hi /= 20;
vi /= 20;
y hi y vi van a ser la casilla en donde se hiso click
el codigo no lo probe, lo cree mientras escribia, asique no se si tiene errores.. aparte de que se C y NO C#, pero creo que lo que puse vale para los 2.
salu2! y espero haber ayudado
En línea
Inside The Source Code
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Linux Registred User #460377
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
c# Problema con interfaz grafica Sudoku
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Seguridad
=> Phreaking
===> Moviles
=> Bug y Exploits
===> Directorio de Exploits
=> Wargames, Retos Hack
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas Generales
===> Php
===> Html, XHTML, CSS
===> Java - Java Script
===> CMS O Scripts Pre-Fabricados
===> Posicionamiento en buscadores
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Biblioteca Tecnica
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
===> Juegos de Consola
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.6
|
SMF © 2006-2007, Simple Machines LLC
Loading...