从文本框中提取数字

时间:2012-10-30 20:33:14

标签: c# textbox picturebox

我必须为学校制作一个程序,一个D-FlipFlop。要输入D和电子书/时钟,我想使用2个文本框。 (我还必须制作一个包含3个端口的程序,包含AND,NAND,OR,NOR,XOR端口,但这已经有效了。)

D的输入可以是:000001111100000111111100000011

E的输入可以是:000111000111000111000111000111

textbox1的值必须转到picturebox。因此,使用01,您可以绘制一条线并使触发器可视化。 textbox2的值需要转到picturebox2

1 个答案:

答案 0 :(得分:0)

这是可能的。您实际上需要将000001111100000111111100000011000111000111000111000111000111转换为字节数组stringbyte[]Convert.ToByte(object value, IFormatProvider provider)将被视为string input = "BINARY GOES HERE"; int numOfBytes = input.Length / 8; //Get binary length and divide it by 8 byte[] bytes = new byte[numOfBytes]; //Limit the array for (int i = 0; i < numOfBytes; ++i) { bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2); //Get every EIGHT numbers and convert to a specific byte index. This is how binary is converted :) } 。为此,我们将使用input

byte[]

这将声明一个新字符串byte[],然后将其编码为字节数组(Stream)。我们实际上需要将其作为PictureBox将其用作MemoryStream,然后将其插入我们的MemoryStream FromBytes = new MemoryStream(bytes); //Create a new stream with a buffer (bytes) 。为此,我们将使用Image

PictureBox

最后,我们可以简单地使用此流来创建我们的pictureBox1.Image = Image.FromStream(FromBytes); //Set the image of pictureBox1 from our stream 文件并将文件设置为private Image Decode(string binary) { string input = binary; int numOfBytes = input.Length / 8; byte[] bytes = new byte[numOfBytes]; for (int i = 0; i < numOfBytes; ++i) { bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2); } MemoryStream FromBinary = new MemoryStream(bytes); return Image.FromStream(FromBinary); }

Decode(000001111100000111111100000011)

示例

Image

通过使用此功能,您可以随时调用,例如PictureBox,它会将其转换为图像。然后,您可以使用此代码设置pictureBox1.Image = Decode("000001111100000111111100000011");

ArgumentException was unhandled: Parameter is not valid.属性
{{1}}

重要提示:由于二进制代码无效,您可能会收到{{1}}这种情况。

谢谢, 我希望你觉得这很有帮助:)