• Viernes 17 de Abril de 2026, 18:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - totorufo

Páginas: [1]
1
C# / Re: Rectangulo sobre imagen
« en: Miércoles 16 de Diciembre de 2009, 11:30 »
Buenas!

Pues la verdad es que he estado haciendo algo parecido!
Lo he hecho asi:

La cosa consiste en crear un usercontrol y pintar el rectangulo en el. Luego insertar el usercontrol sobre la imagen.
Con el usercontrol ya tienes todos los eventos necesarios.

Con esto tendras un "pequeño problema" hacer un usercontrol transparente.
Yo lo he "conseguido" de dos fromas :

  1.Hacer transparente el usercontrol mediante

     protected override CreateParams CreateParams

     Con este he tenido un pequeño problema de refrescado! Si lo consigues ya comentaras

 2. Emular transparencia del usercontrol
   
     Creo una imagen con lo que tiene que aparecer detras y se la establezco como background

O tal vez lo que quieras esto:

codeproject.com/KB/cs/SharpFormEditorDemo.aspx

Espero que te sirva.

2
C# / LibTiff
« en: Martes 1 de Diciembre de 2009, 01:54 »
Hola!

Sabe alguien como poder utilizar la libreria LibTiff en c#?

Me he bajado la libreria LibTIFF.NET desde       =>     ftp://ftp.remotesensing.org/pub/libtiff/

Y me he bajado libtiff3.dll desde                      =>      siaminbox.net/siaminbox/api/tiff-3.8.2-1-bin/bin/

como se supone que se debe hacer, pero no hay manera!
Al probar la aplicacion de prueba ni arranca, me da error: No se puede cargar el archivo DLL: 'libtiff3.dll'

:blink:  ?

Muchas gracias de antemano.

3
C# / Re: Barajear paneles
« en: Jueves 26 de Noviembre de 2009, 11:18 »
Hola!

Arrastrando Paneles sin programar:

Si quieres ir arrastrando paneles, yo haria lo siguiente, tampoco soy un experto! Haces el formulario lo mas grande que puedas,
Si estas trabajando con ventana 800X600 (ya nadie utiliza esto, me parece) haces el formulario mas grande que esa medida. Y
arrastras tus paneles al formulario uno al lado del otro, lo programas todo y al final en vez de arrastrarlo a la posicion que quieres
metes el valor por propiedades: Location(X,Y). Mas o menos.

Usando UserControl: (Yo uso .NET 2008)

Projecto > new item > UserControl  (MiUserControl)

Programas el usercontrol igual que si fuera un formulario.

En tu formulario, en NET 2008 la parte de diseño esta separada de la programacion archivo .cs
Vas ahi y pones lo siguiente:

Código: C#
  1.  
  2. partial class Form1
  3. {
  4.   ....
  5.   private void InitializeComponent()
  6.   {
  7.       ....
  8.       this.m_userControl1 = new MiUserControl();
  9.       ...
  10.    }
  11.  
  12.    private MiUserControl m_userControl1;
  13. }
  14.  
  15.  

Y ya ta! Asi es como lo hago yo! Si alguien sabe de otra forma...

Si estas trabajando con NET 2005, me parece, no estoy seguro, en el codigo del formulario, tiene que
haber una region que ponga InitializeComponent().

Espero que te sirva y me haya esplicado. Las faltas de ortografia es otra cosa :wacko:

4
C# / Imagen TIF
« en: Miércoles 25 de Noviembre de 2009, 22:36 »
Hola!

Alguien sabe como conseguir el perfil ICC de una imagen TIF?

He mirado con ImageMagickNET pero lo no encuentro!

Tengo una imagen TIF, la abro, genero otra imagen TIF igual mediante Bitmap, pero no se como
insertarle el perfil!

Aguna sugerencia?

Gracias.

5
C# / Re: Barajear paneles
« en: Miércoles 25 de Noviembre de 2009, 22:25 »
Por lo que he entendido, parece ser que estas añadiendo un panel a otro panel.

Tendras algo parecido a esto:

this.Controls.Add(this.panel1);
this.panel1.Controls.Add(this.panel2);

Donde tendrias que tener esto:

this.Controls.Add(this.panel1);
this.Controls.Add(this.panel2);

Si pruebas con esto no tendria que darte problemas a lo que quieres hacer (aunque yo igual utilizaria UserControls)

Si no funciona un poco de codigo no vendria mal :)

Espero que te haya servido.

6
C# / Re: explicacion de codigo
« en: Viernes 13 de Noviembre de 2009, 09:34 »
Hola!

Justo subiendo he visto la explicacion de tannken. Que ya es suficiente.
Pero bueno, ya la tenia preparada asi que la subo:

A ver que te parece esto:
Código: C#
  1.  
  2. private void button1_Click_1(object sender, EventArgs e)
  3.         {
  4.             int cont_letras = 0;            // total de letras
  5.             int cont_a = 0;                 // cuantas a
  6.             int cont_e = 0;                 // cuantas e
  7.             int cont_i = 0;                 // cuantas i
  8.             int cont_o = 0;                 // cuantas o
  9.             int cont_u = 0;                 // cuantas u
  10.  
  11.             string string_de_entrada;       // texto a evaluar
  12.  
  13.             string letra_a_evaluar;         // letra a evaluar
  14.  
  15.             // Insertamos el texto
  16.             string_de_entrada = textBox1.Text;
  17.  
  18.             // Calculamos cuantas letras en total tiene
  19.             cont_letras = string_de_entrada.Length;
  20.  
  21.             // Para todo el texto a evaluar
  22.             for (int i = 0; i < cont_letras; i++)
  23.             {
  24.                 // Conseguimos la letra de la posicion x
  25.                 letra_a_evaluar = string_de_entrada.Substring(i, 1);
  26.  
  27.                 // Evaluamos
  28.                 switch (letra_a_evaluar)
  29.                 {
  30.                     // Si es "a" sumamos
  31.                     case "a": cont_a++; break;
  32.                     case "A": cont_a++; break;
  33.                     case "á": cont_a++; break;
  34.                     case "Á": cont_a++; break;
  35.  
  36.                     // Si es "e" sumamos
  37.                     case "e": cont_e++; break;
  38.                     case "E": cont_e++; break;
  39.                     case "é": cont_e++; break;
  40.                     case "É": cont_e++; break;
  41.  
  42.                     // Si es "i" sumamos
  43.                     case "i": cont_i++; break;
  44.                     case "I": cont_i++; break;
  45.                     case "Í": cont_i++; break;
  46.                     case "í": cont_i++; break;
  47.  
  48.                     // Si es "o" sumamos
  49.                     case "o": cont_o++; break;
  50.                     case "ó": cont_o++; break;
  51.                     case "O": cont_o++; break;
  52.                     case "Ó": cont_o++; break;
  53.  
  54.                     // Si es "u" sumamos
  55.                     case "u": cont_u++; break;
  56.                     case "ú": cont_u++; break;
  57.                     case "U": cont_u++; break;
  58.                     case "Ú": cont_u++; break;
  59.                 }
  60.             }
  61.  
  62.             // Visualizamos informacion
  63.             label1.Text = cont_letras.ToString();
  64.             label2.Text = cont_a.ToString();
  65.             label3.Text = cont_e.ToString();
  66.             label4.Text = cont_i.ToString();
  67.             label5.Text = cont_o.ToString();
  68.             label6.Text = cont_u.ToString();
  69.         }
  70.  
  71.  

Bueno, pues si entiendes esto, lo que tu amigo a hecho es en vez de tener

Código: C#
  1.  
  2. int cont_letras = 0;            // total de letras
  3. int cont_a = 0;                 // cuantas a
  4. int cont_e = 0;                 // cuantas e
  5. int cont_i = 0;                 // cuantas i
  6. int cont_o = 0;                 // cuantas o
  7. int cont_u = 0;                 // cuantas u
  8.  
  9.  

A definido un array con toda esa informacion

Te aconsejo poner un breakpoint en tu codigo para ir mirando los valores que tienen.

Bueno.

7
C# / Formularios Misma Posicion. Que os parece?
« en: Jueves 12 de Noviembre de 2009, 15:46 »
Hola!

Tengo un problemilla de diseños, y haber que os parece lo hecho hasta ahora.

El problema es que tengo dos aplicaciones completamente distintas, pero las dos se llaman mutuamente (una cierra la otra y viceversa)
Pero quiero que el usuario "no se de cuenta" de que pasa de una a otra. Y no puedo utilizar MDI para agrupar las dos,
porque seguramente una de ellas lo sera.

Ejemplo : Form2(hace de puente entre una y otra), Form3, y Form4

1. Me gustaria saber que os parece el sistema utilizado o si existe alguna manera mejor de hacerlo, en el Main, contenedor...

Código: C#
  1.  
  2. public partial class Form2 : Form
  3.     {
  4.         public Form2()
  5.         {
  6.             InitializeComponent();
  7.         }
  8.  
  9.         private void Form2_Load(object sender, EventArgs e)
  10.         {
  11.             Form3 r1 = new Form3();
  12.             r1.FormClosing += new FormClosingEventHandler(SeCierra3);
  13.             r1.Show();
  14.         }
  15.  
  16.         private void SeCierra3(object sender, EventArgs e)
  17.         {
  18.             Form4 r1 = new Form4();
  19.             r1.FormClosing += new FormClosingEventHandler(SeCierra4);
  20.             r1.Size = ((Form)sender).Size;
  21.             r1.Location = ((Form)sender).Location;
  22.             r1.Show();
  23.            
  24.         }
  25.         private void SeCierra4(object sender, EventArgs e)
  26.         {
  27.             Form3 r1 = new Form3();
  28.             r1.FormClosing += new FormClosingEventHandler(SeCierra3);
  29.             r1.Size = ((Form)sender).Size;
  30.             r1.Location = ((Form)sender).Location;
  31.             r1.Show();
  32.         }
  33.  
  34.         private void Form2_Shown(object sender, EventArgs e)
  35.         {
  36.             this.Visible = false;
  37.         }
  38.     }
  39.  
  40.  

2. Si esta es la buena forma: Tengo problemas para posicionar los formularios en su posicion

Con size funciona bien, las dos tienen la misma anchura y altura, pero la posicion no.

Código: C#
  1.  
  2. r1.Size = ((Form)sender).Size;
  3. r1.Location = ((Form)sender).Location;
  4. r1.Show();
  5.  
  6.  

Eso sí, si pongo:

Código: C#
  1.  
  2. r1.Size = ((Form)sender).Size;
  3. r1.Show();
  4. r1.Location = ((Form)sender).Location;
  5.  
  6.  

Funciona, pero hace parpadeo (se posiciona en una poscion X, y luego en la que debe)
El Show() restablece la posición?

3. Muchas gracias

8
C# / Re: Formulario en DLL
« en: Jueves 12 de Noviembre de 2009, 13:21 »
Ole! Muy buena!

Gracias a los dos por vuestras respuestas.

Habia hecho algo pero no tan bonito y ha quedado asi:

(Formulario Aplicacion con un boton, al pulsarlo se abre otro con dos botones ACEPTAR y CANCELAR, y textBox.
Si el usuario introduce un texto en el formulario y le da a aceptar, este se cierra y en el titulo del primer formulario
sale en el titulo el texto introducido)

Formulario en DLL:  -----------------------------------------------

namespace hola
{
    public class Hola
    {
        private String m_hola;  // Parametro a pasar de un formulario a otro
        private bool m_anser;  // Booleano que dice si se a dado ACEPTAR o NO

        public Hola()
        {
            m_hola = "Hola";
            m_anser = false;
        }
        public bool anser
        {
            get { return m_anser; }
            set { m_anser = value; }
        }
        public String hola
        {
            get { return m_hola; }
            set { m_hola = value; }
        }
    }
}

namespace hola
{
    public partial class Form1 : Form
    {
        private Hola m_hola = new Hola();

        public Form1()
        {
            InitializeComponent();
        }

        public void SetText(Hola m)
        {
            m_hola = m;
            textBox1.Text = m_hola.hola;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            m_hola.hola = textBox1.Text;
            m_hola.anser = true;
            this.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            m_hola.anser = false;
            this.Close();
        }
    }
}

Formulario en aplicacion:  -----------------------------------------------

using hola;

namespace Adios
{
    public partial class Form1 : Form
    {
        private Hola m_hola = new Hola();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.m_hola.hola = "XXXX";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            hola.Form1 fo = new hola.Form1();
            fo.FormClosed += new FormClosedEventHandler(SeCierra);
            fo.SetText(this.m_hola);
            fo.ShowDialog();

            // if (this.m_hola.anser) this.Text = this.m_hola.hola; <-- Lo mio: Al ser modal se quedaba aqui hasta que se cerraba,
           //                                                                                     pero me parece que con no modal....
        }

        private void SeCierra(object sender, EventArgs e)
        {
            if (this.m_hola.anser) this.Text = this.m_hola.hola;
        }
    }
}

--------------------------------------------------------------------------------------------------
Y como bien dice ProfesorX con esto voy a poder hacer pequeños formularios separados de mi aplicacion
para no ver tanto formulario junto  :)

Muchas gracias.

9
C# / Formulario en DLL
« en: Miércoles 11 de Noviembre de 2009, 11:34 »
Hola,

Estoy aprendiendo poco a poco C# y tengo una dudilla:

He creado un formulario dentro de una DLL.       -> FormularioDLL
 Y he creado otro formulario en mi aplicacion      -> FormularioAplicacion

Desde FormularioAplicacion llamo al formulario FormularioDLL como modal, la cosa es, que una vez que el usuario
cierra el FormularioDLL quiero actualizar informacion del FormularioAplicacion.

Es decir, como puedo saber que el formularioDLL se ha cerrado?
O si es posible hacerlo.

Gracias.

10
C# / Re: Funcion Usuario Escala Imagen
« en: Miércoles 11 de Noviembre de 2009, 11:25 »
Ya encontre algo parecido a lo que buscaba.

codeproject.com/KB/GDI-plus/enhancedimageprj.aspx

La cosa es que aqui lo hace a mano.
Sabe alguien de alguna libreria que haga lo mismo que el cuadrado de la esquina superior izq?
Cuadraditos en las esquinas y que el usuario pueda escalar la foto que esta en su interior?

Gracias

11
C# / Funcion Usuario Escala Imagen
« en: Domingo 8 de Noviembre de 2009, 12:17 »
Hola,

me gustaria sabes si alguien sabe como hacer , o sabe de algun tutorial o dll,  para mostrar una imagen en la aplicación y que el usuario
pueda escalarla pinchando en ella y arrastrando, igual que en OpenOffice, Word, PhotoShop,...

Muchas gracias

12
C# / GUI Photoshop
« en: Jueves 5 de Noviembre de 2009, 20:45 »
Hola!

Mi primera preguntilla en el foro! A ver si alguien me puede echar una mano!

Mi intención es hacer una pequeña aplicación, donde teniendo un rectángulo blanco en medio del formulario (el cual representa una hoja A4) poder añadir distintos archivos de imagen en dicho rectángulo. Poder trasladar, rotar y escalar dichas imágenes dentro de dicho rectángulo.
Mi intención es crear una apariencia parecida a la de photoshop.

Me han dicho que existe alguna librería que me puede ayudar a ello, pero la verdad es que no la encuentro. Si alguien me puede echar una mano y decirme si sabe de alguna?

De primeras me valdría con saber como se llama la toolBar de dimensión del papel. La pequeña barra superior que aparece en photoshop, openoffice, word, etc y te dice la medida del papel.

Espero haberme explicado.

Muchas gracias de antemano.

Páginas: [1]