• Viernes 19 de Abril de 2024, 08:51

Autor Tema:  Re: C#,PictureBox y manuales  (Leído 19497 veces)

tatomix

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: C#,PictureBox y manuales
« en: Sábado 11 de Octubre de 2003, 21:26 »
0
Hola, tengo un problema con los picturebox.
Estoy programando con el bloc de notas y el compilador de framework.net y no tengo mucha informacion sobre el lenguaje asi que utilizo una aplicacion para ver como funciona el codigo e ir programandolo en el bloc de notas. El caso es que no consigo poner una imagen en el picturebox. Alguien me puede indicar como poner la ruta de la imagen que quiero que carge?.

Ademas estoy buscando algun manual o tutorial de programacion en c# para aplicaciones bajo windows pero lo unico que encuentro es para programar en la consola, cosa que no me interesa nada.
Haber si sabes alguna direccion donde bajar algo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: C#,PictureBox y manuales
« Respuesta #1 en: Lunes 13 de Octubre de 2003, 07:56 »
0
1- Al parecer no conoces mucho de programacion orientada a objetos, asi que si no aprender a hacerlo por consolo.. muy pero muy dificlmente lograras hacer una buena aplicación utilizando controles... esto no es Visual Basic, piensalo... porque todos los libros de nivel principiante e intermdio enseñan a crear aplicaciones por consola y no con controles de una vez?... los Autores saben lo que hacen.

2- El control picture box solo recibe para su imagen un objeto bitmap, o cualquier otro que herede de la clase Image (programacion orientada a objetos)
asi que para asignarlo debes utilizar su propiedad
 picturebox.Image
a la cual debes asignarle por ejemplo una instancia del objeto Bitmap o una nueva instancia de la misma, es decri puedes hacer esto:

picturebox.Image = new Bitmap("dibujo.bmp");
o bien

Bitmap bmp;
.....
....
picturebox.Image = bmp;

Una cosa importante es que si quieres aprnder a utilizar controles de windows en tus aplicaciones..y utilizas como editor el block de notas,.... definitivamente estas perdiendo tu tiempo.. por ejemplo esto me hubiese tocado hacer para una aplicacion que se viera como la imagen y sin que ningun control hiciera nada...:
 
Código: Text
  1.  
  2.         private System.Windows.Forms.PictureBox pbxSourceImg;
  3.         private System.Windows.Forms.Button btOpenImg;
  4.         private System.Windows.Forms.GroupBox grbImage;
  5.         private System.Windows.Forms.Button btSave;
  6.         private System.Windows.Forms.Button btSalir;
  7.         private System.Windows.Forms.Button btLoad;
  8.         private System.Windows.Forms.GroupBox grbParaters;
  9.         private System.Windows.Forms.ListView lvwFrameList;
  10.         private System.Windows.Forms.ColumnHeader left;
  11.         private System.Windows.Forms.ColumnHeader top;
  12.         private System.Windows.Forms.ColumnHeader nro;
  13.         private System.Windows.Forms.ColumnHeader witdh;
  14.         private System.Windows.Forms.ColumnHeader height;
  15.         private System.Windows.Forms.Label lblLeft;
  16.         private System.Windows.Forms.Label lblTop;
  17.         private System.Windows.Forms.Label lblWidth;
  18.         private System.Windows.Forms.Label lblHeight;
  19.         private System.Windows.Forms.Button btUpdate;
  20.         private System.Windows.Forms.Button btAdd;
  21.         private System.Windows.Forms.Label lblNameLvw;
  22.         private System.Windows.Forms.TextBox txtLeft;
  23.         private System.Windows.Forms.TextBox txtWidth;
  24.         private System.Windows.Forms.TextBox txtHeigth;
  25.         private System.Windows.Forms.TextBox txtTop;
  26.         private System.Windows.Forms.Button btDel;
  27.         private System.Windows.Forms.Button btClear;
  28.         private System.Windows.Forms.TextBox txtImagePath;
  29.         private System.Windows.Forms.SaveFileDialog saveFileDialog;
  30.         private System.Windows.Forms.OpenFileDialog openImgDialog;
  31.         private System.Windows.Forms.OpenFileDialog openFileDialog;
  32.  
  33.  
Código: Text
  1.  
  2.             this.pbxSourceImg = new System.Windows.Forms.PictureBox();
  3.             this.openImgDialog = new System.Windows.Forms.OpenFileDialog();
  4.             this.btOpenImg = new System.Windows.Forms.Button();
  5.             this.grbImage = new System.Windows.Forms.GroupBox();
  6.             this.txtImagePath = new System.Windows.Forms.TextBox();
  7.             this.btSave = new System.Windows.Forms.Button();
  8.             this.btSalir = new System.Windows.Forms.Button();
  9.             this.btLoad = new System.Windows.Forms.Button();
  10.             this.grbParaters = new System.Windows.Forms.GroupBox();
  11.             this.btClear = new System.Windows.Forms.Button();
  12.             this.btDel = new System.Windows.Forms.Button();
  13.             this.lblNameLvw = new System.Windows.Forms.Label();
  14.             this.btAdd = new System.Windows.Forms.Button();
  15.             this.btUpdate = new System.Windows.Forms.Button();
  16.             this.lblHeight = new System.Windows.Forms.Label();
  17.             this.lblWidth = new System.Windows.Forms.Label();
  18.             this.lblTop = new System.Windows.Forms.Label();
  19.             this.lblLeft = new System.Windows.Forms.Label();
  20.             this.txtHeigth = new System.Windows.Forms.TextBox();
  21.             this.txtWidth = new System.Windows.Forms.TextBox();
  22.             this.txtTop = new System.Windows.Forms.TextBox();
  23.             this.txtLeft = new System.Windows.Forms.TextBox();
  24.             this.lvwFrameList = new System.Windows.Forms.ListView();
  25.             this.nro = new System.Windows.Forms.ColumnHeader();
  26.             this.left = new System.Windows.Forms.ColumnHeader();
  27.             this.top = new System.Windows.Forms.ColumnHeader();
  28.             this.witdh = new System.Windows.Forms.ColumnHeader();
  29.             this.height = new System.Windows.Forms.ColumnHeader();
  30.             this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();
  31.             this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
  32.             this.grbImage.SuspendLayout();
  33.             this.grbParaters.SuspendLayout();
  34.             this.SuspendLayout();
  35.             //
  36.             // pbxSourceImg
  37.             //
  38.             this.pbxSourceImg.BackColor = System.Drawing.Color.Black;
  39.             this.pbxSourceImg.Location = new System.Drawing.Point(8, 16);
  40.             this.pbxSourceImg.Name = "pbxSourceImg";
  41.             this.pbxSourceImg.Size = new System.Drawing.Size(272, 280);
  42.             this.pbxSourceImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
  43.             this.pbxSourceImg.TabIndex = 0;
  44.             this.pbxSourceImg.TabStop = false;
  45.             //
  46.             // openImgDialog
  47.             //
  48.             this.openImgDialog.Filter = ""Imagen bmp"|*.bmp|"Imagen jpg"|*.jpg|"Imagen png"|*.png|"Imagen gif"|*.gif|"Imag" +
  49.                 "en tif"|*.tif|"Imagen jpg"|*.jpeg";
  50.             this.openImgDialog.InitialDirectory = ".*.*";
  51.             this.openImgDialog.ReadOnlyChecked = true;
  52.             this.openImgDialog.Title = "Abrir Imagen";
  53.             this.openImgDialog.FileOk += new System.ComponentModel.CancelEventHandler(this.openImgDialog_FileOk);
  54.             //
  55.             // btOpenImg
  56.             //
  57.             this.btOpenImg.Location = new System.Drawing.Point(8, 304);
  58.             this.btOpenImg.Name = "btOpenImg";
  59.             this.btOpenImg.Size = new System.Drawing.Size(40, 32);
  60.             this.btOpenImg.TabIndex = 13;
  61.             this.btOpenImg.Text = "Abrir";
  62.             this.btOpenImg.Click += new System.EventHandler(this.btOpenImg_Click);
  63.             //
  64.             // grbImage
  65.             //
  66.             this.grbImage.Controls.AddRang(new System.Windows.Forms.Control[]
  67. {
  68.    this.txtImagePath,
  69.    this.pbxSourceImg,
  70.    this.btOpenImg
  71. });
  72. this.grbImage.Location = new System.Drawing.Point(8, 8);
  73.             this.grbImage.Name = "grbImage";
  74.             this.grbImage.Size = new System.Drawing.Size(288, 344);
  75.             this.grbImage.TabIndex = 3;
  76.             this.grbImage.TabStop = false;
  77.             this.grbImage.Text = "Imagen";
  78.             //
  79.             // txtImagePath
  80.             //
  81.             this.txtImagePath.BorderStyle = System.Windows.Forms.BorderStyle.None;
  82.             this.txtImagePath.Location = new System.Drawing.Point(48, 304);
  83.             this.txtImagePath.Multiline = true;
  84.             this.txtImagePath.Name = "txtImagePath";
  85.             this.txtImagePath.ReadOnly = true;
  86.             this.txtImagePath.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
  87.             this.txtImagePath.Size = new System.Drawing.Size(232, 32);
  88.             this.txtImagePath.TabIndex = 14;
  89.             this.txtImagePath.Text = "%PATH%";
  90.             //
  91.             // btSave
  92.             //
  93.             this.btSave.Location = new System.Drawing.Point(416, 328);
  94.             this.btSave.Name = "btSave";
  95.             this.btSave.Size = new System.Drawing.Size(80, 24);
  96.             this.btSave.TabIndex = 11;
  97.             this.btSave.Text = "Guardar";
  98.             this.btSave.Click += new System.EventHandler(this.btSave_Click);
  99.             //
  100.             // btSalir
  101.             //
  102.             this.btSalir.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  103.             this.btSalir.Location = new System.Drawing.Point(512, 328);
  104.             this.btSalir.Name = "btSalir";
  105.             this.btSalir.Size = new System.Drawing.Size(80, 24);
  106.             this.btSalir.TabIndex = 12;
  107.             this.btSalir.Text = "Salir";
  108.             this.btSalir.Click += new System.EventHandler(this.btSalir_Click);
  109.             //
  110.             // btLoad
  111.             //
  112.             this.btLoad.Location = new System.Drawing.Point(312, 328);
  113.             this.btLoad.Name = "btLoad";
  114.             this.btLoad.Size = new System.Drawing.Size(80, 24);
  115.             this.btLoad.TabIndex = 10;
  116.             this.btLoad.Text = "Cargar";
  117.             this.btLoad.Click += new System.EventHandler(this.btLoad_Click);
  118.             //
  119.             // grbParaters
  120.             //
  121.             this.grbParaters.Controls.AddRange(new System.Windows.Forms.Control[]
  122.  {
  123.    this.btClear,
  124.    this.btDel,
  125.    this.lblNameLvw,
  126.    this.btAdd,
  127.    this.btUpdate,
  128.    this.lblHeight,
  129.    this.lblWidth,
  130.    this.lblTop,
  131.    this.lblLeft,
  132.    this.txtHeigth,
  133.    this.txtWidth,
  134.    this.txtTop,
  135.    this.txtLeft,
  136.    this.lvwFrameList
  137. });
  138.             this.grbParaters.Location = new System.Drawing.Point(304, 8);
  139.             this.grbParaters.Name = "grbParaters";
  140.             this.grbParaters.Size = new System.Drawing.Size(304, 312);
  141.             this.grbParaters.TabIndex = 7;
  142.             this.grbParaters.TabStop = false;
  143.             this.grbParaters.Text = "Parámetros";
  144.             //
  145.             // btClear
  146.             //
  147.             this.btClear.Location = new System.Drawing.Point(160, 280);
  148.             this.btClear.Name = "btClear";
  149.             this.btClear.TabIndex = 9;
  150.             this.btClear.Text = "Limpiar lista";
  151.             this.btClear.Click += new System.EventHandler(this.btClear_Click);
  152.             //
  153.             // btDel
  154.             //
  155.             this.btDel.Location = new System.Drawing.Point(64, 280);
  156.             this.btDel.Name = "btDel";
  157.             this.btDel.Size = new System.Drawing.Size(88, 24);
  158.             this.btDel.TabIndex = 8;
  159.             this.btDel.Text = "Borrar registro";
  160.             this.btDel.Click += new System.EventHandler(this.btDel_Click);
  161.             //
  162.             // lblNameLvw
  163.             //
  164.             this.lblNameLvw.AutoSize = true;
  165.             this.lblNameLvw.Location = new System.Drawing.Point(8, 96);
  166.             this.lblNameLvw.Name = "lblNameLvw";
  167.             this.lblNameLvw.Size = new System.Drawing.Size(85, 13);
  168.             this.lblNameLvw.TabIndex = 6;
  169.             this.lblNameLvw.Text = "Lista de Frames";
  170.             //
  171.             // btAdd
  172.             //
  173.             this.btAdd.Location = new System.Drawing.Point(224, 32);
  174.             this.btAdd.Name = "btAdd";
  175.             this.btAdd.Size = new System.Drawing.Size(64, 24);
  176.             this.btAdd.TabIndex = 4;
  177.             this.btAdd.Text = "Agregar";
  178.             this.btAdd.Click += new System.EventHandler(this.btAdd_Click);
  179.             //
  180.             // btUpdate
  181.             //
  182.             this.btUpdate.Location = new System.Drawing.Point(224, 64);
  183.             this.btUpdate.Name = "btUpdate";
  184.             this.btUpdate.Size = new System.Drawing.Size(64, 24);
  185.             this.btUpdate.TabIndex = 5;
  186.             this.btUpdate.Text = "Actualizar";
  187.             this.btUpdate.Click += new System.EventHandler(this.btUpdate_Click);
  188.             //
  189.             // lblHeight
  190.             //
  191.             this.lblHeight.AutoSize = true;
  192.             this.lblHeight.Location = new System.Drawing.Point(112, 68);
  193.             this.lblHeight.Name = "lblHeight";
  194.             this.lblHeight.Size = new System.Drawing.Size(37, 13);
  195.             this.lblHeight.TabIndex = 12;
  196.             this.lblHeight.Text = "Heigth";
  197.             //
  198.             // lblWidth
  199.             //
  200.             this.lblWidth.AutoSize = true;
  201.             this.lblWidth.Location = new System.Drawing.Point(112, 36);
  202.             this.lblWidth.Name = "lblWidth";
  203.             this.lblWidth.Size = new System.Drawing.Size(33, 13);
  204.             this.lblWidth.TabIndex = 11;
  205.             this.lblWidth.Text = "Width";
  206.             //
  207.             // lblTop
  208.             //
  209.             this.lblTop.AutoSize = true;
  210.             this.lblTop.Location = new System.Drawing.Point(16, 68);
  211.             this.lblTop.Name = "lblTop";
  212.             this.lblTop.Size = new System.Drawing.Size(24, 13);
  213.             this.lblTop.TabIndex = 10;
  214.             this.lblTop.Text = "Top";
  215.             //
  216.             // lblLeft
  217.             //
  218.             this.lblLeft.AutoSize = true;
  219.             this.lblLeft.Location = new System.Drawing.Point(16, 36);
  220.             this.lblLeft.Name = "lblLeft";
  221.             this.lblLeft.Size = new System.Drawing.Size(23, 13);
  222.             this.lblLeft.TabIndex = 9;
  223.             this.lblLeft.Text = "Left";
  224.             //
  225.             // txtHeigth
  226.             //
  227.             this.txtHeigth.AutoSize = false;
  228.             this.txtHeigth.Location = new System.Drawing.Point(152, 64);
  229.             this.txtHeigth.MaxLength = 4;
  230.             this.txtHeigth.Name = "txtHeigth";
  231.             this.txtHeigth.Size = new System.Drawing.Size(56, 20);
  232.             this.txtHeigth.TabIndex = 3;
  233.             this.txtHeigth.Text = "";
  234.             this.txtHeigth.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_KeyPress);
  235.             this.txtHeigth.Leave += new System.EventHandler(this.txt_Leave);
  236.             this.txtHeigth.Enter += new System.EventHandler(this.txt_Enter);
  237.             //
  238.             // txtWidth
  239.             //
  240.             this.txtWidth.AutoSize = false;
  241.             this.txtWidth.Location = new System.Drawing.Point(152, 32);
  242.             this.txtWidth.MaxLength = 4;
  243.             this.txtWidth.Name = "txtWidth";
  244.             this.txtWidth.Size = new System.Drawing.Size(56, 20);
  245.             this.txtWidth.TabIndex = 2;
  246.             this.txtWidth.Text = "";
  247.             this.txtWidth.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_KeyPress);
  248.             this.txtWidth.Leave += new System.EventHandler(this.txt_Leave);
  249.             this.txtWidth.Enter += new System.EventHandler(this.txt_Enter);
  250.             //
  251.             // txtTop
  252.             //
  253.             this.txtTop.AutoSize = false;
  254.             this.txtTop.Location = new System.Drawing.Point(48, 64);
  255.             this.txtTop.MaxLength = 4;
  256.             this.txtTop.Name = "txtTop";
  257.             this.txtTop.Size = new System.Drawing.Size(56, 20);
  258.             this.txtTop.TabIndex = 1;
  259.             this.txtTop.Text = "";
  260.             this.txtTop.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_KeyPress);
  261.             this.txtTop.Leave += new System.EventHandler(this.txt_Leave);
  262.             this.txtTop.Enter += new System.EventHandler(this.txt_Enter);
  263.             //
  264.             // txtLeft
  265.             //
  266.             this.txtLeft.AutoSize = false;
  267.             this.txtLeft.BackColor = System.Drawing.SystemColors.Window;
  268.             this.txtLeft.Location = new System.Drawing.Point(48, 32);
  269.             this.txtLeft.MaxLength = 4;
  270.             this.txtLeft.Name = "txtLeft";
  271.             this.txtLeft.Size = new System.Drawing.Size(56, 20);
  272.             this.txtLeft.TabIndex = 0;
  273.             this.txtLeft.Text = "";
  274.             this.txtLeft.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt_KeyPress);
  275.             this.txtLeft.Leave += new System.EventHandler(this.txt_Leave);
  276.             this.txtLeft.Enter += new System.EventHandler(this.txt_Enter);
  277.             //
  278.             // lvwFrameList
  279.             //
  280.             this.lvwFrameList.Activation = System.Windows.Forms.ItemActivation.TwoClick;
  281.             this.lvwFrameList.AutoArrange = false;
  282.             this.lvwFrameList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[]
  283. {
  284.    this.nro,
  285.    this.left,
  286.    this.top,
  287.    this.witdh,
  288.    this.height
  289. });
  290.             this.lvwFrameList.FullRowSelect = true;
  291.             this.lvwFrameList.GridLines = true;
  292.             this.lvwFrameList.HideSelection = false;
  293.             this.lvwFrameList.LabelEdit = true;
  294.             this.lvwFrameList.Location = new System.Drawing.Point(8, 112);
  295.             this.lvwFrameList.MultiSelect = false;
  296.             this.lvwFrameList.Name = "lvwFrameList";
  297.             this.lvwFrameList.Size = new System.Drawing.Size(288, 160);
  298.             this.lvwFrameList.TabIndex = 7;
  299.             this.lvwFrameList.View = System.Windows.Forms.View.Details;
  300.             this.lvwFrameList.Click += new System.EventHandler(this.lvwFrameList_Click);
  301.             //
  302.             // nro
  303.             //
  304.             this.nro.Text = "Nro.";
  305.             this.nro.Width = 40;
  306.             //
  307.             // left
  308.             //
  309.             this.left.Text = "Left";
  310.             this.left.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
  311.             //
  312.             // top
  313.             //
  314.             this.top.Text = "Top";
  315.             this.top.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
  316.             //
  317.             // witdh
  318.             //
  319.             this.witdh.Text = "Widht";
  320.             this.witdh.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
  321.             //
  322.             // height
  323.             //
  324.             this.height.Text = "Height";
  325.             this.height.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
  326.             //
  327.             // saveFileDialog
  328.             //
  329.             this.saveFileDialog.DefaultExt = "*.jki";
  330.             this.saveFileDialog.Filter = ""Imagen de JuanK"|*.jki";
  331.             this.saveFileDialog.InitialDirectory = ".";
  332.             this.saveFileDialog.Title = "Guardar Archivo";
  333.             this.saveFileDialog.FileOk += new System.ComponentModel.CancelEventHandler(this.saveFileDialog_FileOk);
  334.             //
  335.             // openFileDialog
  336.             //
  337.             this.openFileDialog.DefaultExt = "bmp";
  338.             this.openFileDialog.Filter = ""Imagen de Juank"|*.jki";
  339.             this.openFileDialog.InitialDirectory = ".";
  340.             this.openFileDialog.ReadOnlyChecked = true;
  341.             this.openFileDialog.Title = "Abrir Imagen bmp";
  342.             this.openFileDialog.FileOk += new System.ComponentModel.CancelEventHandler(this.openFileDialog_FileOk);
  343.             //
  344.             // FrmConverter
  345.             //
  346.             this.AcceptButton = this.btAdd;
  347.             this.AutoScale = false;
  348.             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  349.             this.CancelButton = this.btSalir;
  350.             this.ClientSize = new System.Drawing.Size(616, 365);
  351.             this.Controls.AddRange(new System.Windows.Forms.Control[]
  352. {
  353.    this.grbParaters,
  354.    this.btLoad,
  355.    this.btSalir,
  356.    this.btSave,
  357.    this.grbImage
  358. });
  359.             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
  360.             this.MaximizeBox = false;
  361.             this.Name = "FrmConverter";
  362.             this.Text = "Convertidor de formato de imagen";
  363.             this.grbImage.ResumeLayout(false);
  364.             this.grbParaters.ResumeLayout(false);
  365.             this.ResumeLayout(false);
  366.  
  367.  
Este codigo de inicializacion de los componentes lo genero el editor de visual studio .net.

si quieres un buen libro para aprender a programar de VERDAD, asi empezando te toque en modo consola, visita el link que coloqué en publicaciones y ebooks, alli encontraras más material.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

tatomix

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #2 en: Sábado 18 de Octubre de 2003, 14:17 »
0
Cuando hace unos 10 años programabamos en el spectrum no habia editores visuales, cuando programabamos en ensamblador no habia editores visuales, cuando programabamos en qbasic tampoco teniamos editores visuales, en cambio ahora para casi para todos los lenguajes de programacion existe algun editor visual. Antes se escribian miles de lineas de codigo para hacer una aplicacion, ahora, y gracias a las OOP, esas miles de lineas se reducen a cientos de lineas, pero no nos conformamos con eso, encima queremos entornos RAD que nos faciliten el trabajo en un 75%. Si, son muy utiles, pero cuando el entorno que utilizas es bueno, porque para C#.NET no he visto aun una aplicacion en condiciones, bien porque sean betas (SharpDevelop) o bien porque la aplicacion te cueste un ojo, una pierna y los dos brazos (Microsoft Visual C#.NET). Es por ello por lo que prefiero utilizar el bloc de notas. Cuando hace unos años no existia Macromedia Dreamweaver para realizar paginas web utilizabamos el bloc de notas, han pasado los años y yo sigo haciendo las paginas web con el bloc de notas, sabiendo que con dreamweaver tardo en hacer una pagina cinco minutos y con el otro metodo tardo una hora. El motivo es muy simple, a parte de que no dispongo del dinero para comprar la aplicacion, con el bloc de notas puedo hacer las cosas mas a mi gusto y mas comodamente.
Existen preferencias, algunos gustan usar entornos RAD, otros preferimos continuar programando del mismo modo que lo hemos echo toda la vida. Aplaudo a aquellas personas que, gracias a que han echo una o varias carreras de informatica pueden pagar una aplicacion como se paga un caramelo, pero tambien debeis intentar comprender que hay personas que para comprar la aplicacion tienen que estar ahorrando durante dos o tres años, para que despues de tenerla pagada hagas cuatro aplicaciones pesimas y se te quiten las ganas de continuar. Se lo que estas pensando, para eso estan las versiones de prueba, demostraciones o en cualquier caso la pirateria, pero como no soy amante de la pirateria puesto que se el trabajo que cuestan hacer las cosas me tengo que conformar con lo que me puedo permitir y ademas, las versiones trial caducan y las demostraciones no tienen practicamente utilidad alguna.
Si utilizo el bloc de notas es porque estoy haciendo el diseño de un pequeño y simple entorno de programacion gracias al cual poder realizar las tareas de programacion de un modo mas rapido, no es una maravilla visual como cualquier entorno RAD profesional pero a la hora de introducir codigo es de bastante utilidad.
Por ello preguntaba cual era el modo de introducir PictureBox en las aplicaciones, porque es el unico control que se me ha resistido y no consigo encontrar un metodo en condiciones. Lo unico que he podido averiguar es lo siguiente:

-Mediante una aplicacion RAD he introducido un PictureBox en una ventana.
-Le he indicado cual es el archivo de imagen BMP que deseo se introduzca.
-El programa introduce el siguiente codigo:

this.pictureBox.Image = ((System.Drawing.Bitmap)(resources.GetObject("pictureBox.Image1")));

-En la carpeta del proyecto me encuentro con un fichero llamado MyFormProject.MainForm.resources

-Al ejecutar la aplicacion la imagen se ve perfectamente.

Lo unico que necesito es una explicacion de esto, pues segun pienso lo que realiza este codigo es la asignacion de una imagen que se encuentra dentro del fichero a la propiedad Image del PictureBox. Logico, pero ¿como se ha creado ese archivo .resources?, ¿donde puedo encontrar informacion preferiblemente en castellano sobre esto?.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: C#,PictureBox y manuales
« Respuesta #3 en: Lunes 20 de Octubre de 2003, 16:46 »
0
Observa...

Inserta la imagen por defecto en el picture box.. luego corre el programa y ahi esta la imagen..
Bien, ahora borra el archivo que contiene la imagen.. ejecuta el programa y si observas aunque lo hayas borrado aun aparece la imagen por defecto..

Eso es porque los parametros de datos opr defecto que contienen los objetos, son almacenados en un archivo de recursos, asi si tienes una lista con valorwes por defecto y luego borras el archivo de recursos al ejecutar el programa ya no estaran los datos de dicha lista.

No sucede asi con los datos cargados en tiempo de ejecucion, ya que esos datos no dependen de los contenidos por defecto.

Espero que la explicacion haya sido suficientemente clara.

Cualquier duda me comentas..

Con respecto a lo de los editores..
para hacer programitas esta bien pero no para hacer programas más complicados, hace años se trabajaba asi.. y tardaban 100 veces màs en hacer una aplcacion  a lo que se demorarian hoy en dia con el mismo lenguaje y un editor potente.

Las páginas web inicialmentye se hacien asi.. yo hice algunas, pero definitivamente hoy las paginas web son mucho mas elaboradas de lo que se hacien hace 5 años hy hacerlas en el block de notas seria algo absurdo, mientras que si la hago en dream weaber mi tiempo de desarrollo se reduciria completamente, no solo por las bondades del RAD sino por todas las yudas que involucra para las conexiones a los servidores, la base de datos, la administracion del codigo, le generacion de scripts.. etc etc...
Por ejemplo si hace 5 años por alguna razon tenia que cambiar el nombre de una imagen tenia que poenrme a buscar en todos los archivos de codigo las referencias a la imagen y cambiarlas.. si tenia 1000 o 2000 referencias a esa imagen tenia que hacer todos los cambios y seguramente que siempre se pasaban unos cuantos, hoy con DreamWeaber basta solo con cambiar el nombre de la imagen  desde la aplicacion y ella automaticamente cambiara todas las referncias en todos los archivos del proyecto Web, algo similar sucede cuando se mueven los archivos de ubicacion.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

tatomix

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #4 en: Sábado 25 de Octubre de 2003, 18:50 »
0
Algo que se me olvido comentarte es que este codigo que me pusiste no funciona:
this.picturebox.Image = new Bitmap("dibujo.bmp");
pues dice: Secuencia de escape no reconocida.
Ademas he utilizado el siguiente metodo:
this.pictureBox.Image = Image.FromFile("c:CsharpStudioimgFondo.bmp");
pero sigue diciendo lo mismo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
C#,PictureBox y manuales
« Respuesta #5 en: Domingo 26 de Octubre de 2003, 21:33 »
0
el mio esta bien, el programa o pantallazo que se ve arriba es el resultado de ejecutarlo.

lo de la secuencia de escape te sale porque el  es el caracter de escape, si quieres usarlo debes usar .
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ing_moi

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #6 en: Viernes 4 de Mayo de 2007, 20:07 »
0
en path va la ubicacion del archivo

FileStream fs = new FileStream("path", FileMode.Open, FileAccess.Read);

            byte[] foto = new byte[fs.Length];

            fs.Read(foto, 0, (int)fs.Length);

            fs.Close();

            pictureBox1.Image = Image.FromStream(new MemoryStream(foto));

            pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

suerte

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #7 en: Viernes 4 de Mayo de 2007, 20:33 »
0
Cita de: "tatomix"
Algo que se me olvido comentarte es que este codigo que me pusiste no funciona:
this.picturebox.Image = new Bitmap("\dibujo.bmp");
pues dice: Secuencia de escape no reconocida.
Ademas he utilizado el siguiente metodo:
this.pictureBox.Image = Image.FromFile("c:\CsharpStudio\imgFondo.bmp");
pero sigue diciendo lo mismo.
En este caso sería:

Código: Text
  1.  
  2. this.picturebox.Image = new Bitmap(@"\dibujo.bmp");
  3.  
  4. this.pictureBox.Image = Image.FromFile(@"c:\CsharpStudio\imgFondo.bmp");
  5.  
  6.  

También sirve, asi omite el caracter de escape.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #8 en: Martes 8 de Mayo de 2007, 16:47 »
0
amigos!! Neopro,ing_moi  cuatro años despues con la ayuda :huh:

M4C

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #9 en: Miércoles 9 de Mayo de 2007, 22:36 »
0
perdón que me meta, tatomix, no te interesó utilizar Visual C# 2005 Express ?? es totalmente gratuito ...

Visual Studio 2005 Express

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #10 en: Miércoles 9 de Mayo de 2007, 22:46 »
0
Cita de: "M4C"
perdón que me meta, tatomix, no te interesó utilizar Visual C# 2005 Express ?? es totalmente gratuito ...

Visual Studio 2005 Express
Por lo que estuve viendo parece que hace años que no entra al foro :huh:.
Oh a lo mejor siguio insistiendo en  :comp: con el notepad como herramienta de desarrollo

M4C

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #11 en: Miércoles 9 de Mayo de 2007, 23:22 »
0
aah, no me había fijado en la fecha del post original!
este tema ya esta muy viejo!! xD

saludos!

M4C

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #12 en: Miércoles 9 de Mayo de 2007, 23:23 »
0
aah, no me había fijado en la fecha del post original!
este tema ya esta muy viejo!! xD

saludos!

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: C#,PictureBox y manuales
« Respuesta #13 en: Jueves 7 de Enero de 2010, 00:35 »
0
Cita de: "tatomix"
Cuando hace unos 10 años programabamos en el spectrum no habia editores visuales, cuando programabamos en ensamblador no habia editores visuales, cuando programabamos en qbasic tampoco teniamos editores visuales, en cambio ahora para casi para todos los lenguajes de programacion existe algun editor visual. Antes se escribian miles de lineas de codigo para hacer una aplicacion, ahora, y gracias a las OOP, esas miles de lineas se reducen a cientos de lineas, pero no nos conformamos con eso, encima queremos entornos RAD que nos faciliten el trabajo en un 75%. Si, son muy utiles, pero cuando el entorno que utilizas es bueno, porque para C#.NET no he visto aun una aplicacion en condiciones, bien porque sean betas (SharpDevelop) o bien porque la aplicacion te cueste un ojo, una pierna y los dos brazos (Microsoft Visual C#.NET). Es por ello por lo que prefiero utilizar el bloc de notas. Cuando hace unos años no existia Macromedia Dreamweaver para realizar paginas web utilizabamos el bloc de notas, han pasado los años y yo sigo haciendo las paginas web con el bloc de notas, sabiendo que con dreamweaver tardo en hacer una pagina cinco minutos y con el otro metodo tardo una hora. El motivo es muy simple, a parte de que no dispongo del dinero para comprar la aplicacion, con el bloc de notas puedo hacer las cosas mas a mi gusto y mas comodamente.
Existen preferencias, algunos gustan usar entornos RAD, otros preferimos continuar programando del mismo modo que lo hemos echo toda la vida. Aplaudo a aquellas personas que, gracias a que han echo una o varias carreras de informatica pueden pagar una aplicacion como se paga un caramelo, pero tambien debeis intentar comprender que hay personas que para comprar la aplicacion tienen que estar ahorrando durante dos o tres años, para que despues de tenerla pagada hagas cuatro aplicaciones pesimas y se te quiten las ganas de continuar. Se lo que estas pensando, para eso estan las versiones de prueba, demostraciones o en cualquier caso la pirateria, pero como no soy amante de la pirateria puesto que se el trabajo que cuestan hacer las cosas me tengo que conformar con lo que me puedo permitir y ademas, las versiones trial caducan y las demostraciones no tienen practicamente utilidad alguna.
Si utilizo el bloc de notas es porque estoy haciendo el diseño de un pequeño y simple entorno de programacion gracias al cual poder realizar las tareas de programacion de un modo mas rapido, no es una maravilla visual como cualquier entorno RAD profesional pero a la hora de introducir codigo es de bastante utilidad.
Por ello preguntaba cual era el modo de introducir PictureBox en las aplicaciones, porque es el unico control que se me ha resistido y no consigo encontrar un metodo en condiciones. Lo unico que he podido averiguar es lo siguiente:

-Mediante una aplicacion RAD he introducido un PictureBox en una ventana.
-Le he indicado cual es el archivo de imagen BMP que deseo se introduzca.
-El programa introduce el siguiente codigo:

this.pictureBox.Image = ((System.Drawing.Bitmap)(resources.GetObject("pictureBox.Image1")));

-En la carpeta del proyecto me encuentro con un fichero llamado MyFormProject.MainForm.resources

-Al ejecutar la aplicacion la imagen se ve perfectamente.

Lo unico que necesito es una explicacion de esto, pues segun pienso lo que realiza este codigo es la asignacion de una imagen que se encuentra dentro del fichero a la propiedad Image del PictureBox. Logico, pero ¿como se ha creado ese archivo .resources?, ¿donde puedo encontrar informacion preferiblemente en castellano sobre esto?.


O renovas, o mueres. No siempre hay que tener la mentalidad de edad de piedra. Las empresas valora mucho la productividad, eso si, los que hacen las cosas con el Bloc de notas, saben más que los IDE rápidos.