|
I also have this book, i am reading from 2 days, may be i have to go through more to clear my doubts.
Thanks buddy
|
|
|
|
|
I am opening an image through my c# windows application. After that i need to show the form in the screen.How can i do this? any Help regarding this ll be useful.
|
|
|
|
|
I've read some materials about SerialPort in VS2010, and they refer to the stream and the input buffer of the SerialPort object! and i wonder what they are ?
In addition, I'd like to change between reading data in binary or text form when reading from serial buffer.How can I do this ?
Hope to get your help ! ^ ~ ^ !
|
|
|
|
|
See the SerialPort class[^] for full details. As to reading text or binary, there is no real difference. Serial ports transmit data as a stream of bytes, it is up to the sender and receiver to agree what that data represents.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
thanks Richard MacCutchan ! but what about stream and internal buffer ?
and what you mean:"One of these days I'm going to think of a really clever signature" ?
|
|
|
|
|
nqchanh wrote: what about stream and internal buffer ? What about them? You need to explain what your problem is; if you just want general information then go to the MSDN page in the link I gave you and read about the class and its methods and properties.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Help,How to Convert the Array,Collection,DataTable Or DataSet to Xml File?
How to Convert the JSON To Xml Or Xml To JSON?
Thank you
|
|
|
|
|
|
Item 1: I do not want large source files.
Item 2: I have some rectangles on my Form.
Item 3: I want to access the rectangles, for graphing, from other files.
Can someone direct me to some sort of explanation me how that's done ?
Certainly this is common practice; but I can't find it clearly documented in websites, videos, whatever.
------
Details
------
If I have a file called GraphClassesAndMethods.cs, and I want to, say, put a dot or a line on a rectangle which I designed with the C# toolbox, then how do I get C# to let my class and method in this file see the rectangle ?
C# knows that they are there when I'm typing in the Form1.cs file, and I wrongly inferred/guessed that the reason that it couldn't see the same rectangle in the graphClassesAndMethods files was because the class had a different name.
To test this, I put a class and method outside the Form1 class (in the Form1.cs file) and Ta-Da, the rectangles were not visible to code in that class. So I thought (wrongly) that if I put the same class name in the other file, then they would be visible.
No.
One "solution" to this problem is to create a ridiculously large amount of source in the file Form1.cs, in which case we will have a blob that works once, version 1.0, and will require three years to implement the simplest little change.
Request: Someone please explain to me how to let my code (i.e., in the other file) see the rectangles which are perfectly visible to code that I type in the Form1 class in the Form1.cs file.
Of particular interest to me is that I would like to also have an InitEverything.cs file where I can put all the "ooops, that should have been done first" routines and so on which tend to crop up during the last 10% of the coding.
|
|
|
|
|
Create your class Rect.cs
In form 1 create an instance of Rect.cs
Rect oRect = new Rect();
Use oRect to do the work.
Create an instance of your ThirdClass passing the instance of oRect in the constructor
ThirdClass oThirdClass = new ThirdClass(oRect);
This really is c#101, buy a book and work through the examples.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Files mean nothing.
Well, hardly anything.
You are really asking about access between classes and are likely considering making your fields (rectangles) public so your other classes can access them. If so, don't.
On the other hand, you really haven't given us much information to go on.
|
|
|
|
|
Windows Form controls added using the designer are by default "private".
If you want them to be "public" (using the designer), you need to specicy as such via the "Modifiers" item on a control's "Properties" tab.
|
|
|
|
|
Gerry Schmitz wrote: specicy as such via the "Modifiers" item on a control's "Properties" tab. Did exactly that. Did not work.
|
|
|
|
|
Of course it works.
Assuming you have a "reference" to an "instance" of the form, all "public" fields / properties / controls will be visible in your "other" file.
The controls (eg. your rectangle) are members of your form class; without a reference to the form "object", it "won't work".
|
|
|
|
|
Hi all,
im new to C# (coming from matlab), and so theres a lot to explore for me (the whole OOP thing ). Currently I write a simple program which deserializes a xml file (on a menu click) and shows the xml structure in a treeview.
My Problem:
When clicking on an element of the treeview, i want to show the content of the chosen xml field in a datagrid. This means I have to make the deserialized xml (which is an object) avaialable for the treeView1_AfterSelect. Maybe someone has a hint for me? I already searched for a solutions which fits this problem . Maybe its to obvious ^^?
Here's some code (im very new to OOP so dont laugh ).
...
private void loadObjectsToolStripMenuItem_Click(object sender, EventArgs e)
{
string FilePath = string.Empty;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "xml files (*.xml)|*.xml| All files (*.*)|*.*";
openFileDialog1.InitialDirectory = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), @"");
if (openFileDialog1.ShowDialog() == DialogResult.OK)
FilePath = openFileDialog1.FileName;
xmlDataThings xmlData= (xmlDataThings )xmlReadWrite.DeSerializeFromXML(FilePath, typeof(xmlDataThings ));
TreeNode tNode = new TreeNode(openFileDialog1.SafeFileName);
if (treeViewObjects.Nodes.ContainsKey(openFileDialog1.SafeFileName))
return;
tNode.Name = openFileDialog1.SafeFileName;
treeViewObjects.Nodes.Add(tNode);
tNode = treeViewObjects.Nodes[treeViewObjects.Nodes.Count-1];
AddNode(xmlData, tNode);
treeViewObjects.ExpandAll();
}
private void treeViewObjects_AfterSelect(object sender, TreeViewEventArgs e)
{
if (treeViewObjects.SelectedNode.Level == 2)
{
}
...
}
Would be very nice if someone has a hint for me.
|
|
|
|
|
Simplest thing would be to make xmlData a member of the class instead of a local variable. Then you could refer to it from both methods.
|
|
|
|
|
As I said, it was obvious ^^ thank you for the hint. Just needed a static object (that was the point) where I have to "set" the object at first deserialize and afterwards i can "get" it from there...
public class xmlReadWrite
{
static private object _xmlData;
public object getXmlData()
{
return _xmlData;
}
public void setXmlData(object xmlData)
{
_xmlData= xmlData;
}
}
|
|
|
|
|
You should not use the static keyword here. "private object _xmlData = null;" is correct.
|
|
|
|
|
this doesnt work (I've tried). Because the "static" is needed so the class doesnt loose the object after the first call (as far as i understand )
|
|
|
|
|
It will only lose the object when the containing class is destroyed. From your original post, it seemed like everything is in the same class.
|
|
|
|
|
I'm try to using native dll (with original .h), but it does not work.
Thanks!
|
|
|
|
|
With that non-description of the problem, this is the only reply you're likely to receive.
Without knowing anything about the .DLL you're using, the function you're trying to call, the code your using to import the function with and the code you're using to call it, it's IMPOSSIBLE for anyone to give you any kind of useful information.
|
|
|
|
|
I am getting packages of 256 samples of data per second.
i.e., one large pack; contents: 256 samples.
I want to display that as smoothly as possible, i.e., with as little visible screen jitter, but not lose any data.
As soon as I finish this pack, I will have another one waiting on me.
My arithmetic says that if I schedule one sample every millisecond, I will be exactly ten seconds behind after seven minutes of data.
In this app, no way; I forbid.
If I don't have any time delay between the data points, I get much jitter. Again, no way; I forbid.
My first thought is...
-- Every 42nd event gets 2 dots in a row with no delay
i.e., I put 2 dots on the screen, one after the other, on these iterations
-- 42nd
-- 84th
-- 126th
-- 168th
-- 210th
-- 252nd
That would get me all 256 points on the display once every second. There would be 6 "jerky" points per second; and I don't even know if they will be noticeable in the first place.
Anyone, please correct my arithmetic, but I believe that that gives me a "jumping rate" of slightly better than 40 Hz.
The two big factors are
-1- All data; never miss a dot
-2- Smooth appearance for the human eye
I welcome superior suggestions.
|
|
|
|
|
For me personally, I think anything < 250ms is not perceptibable to most people. I am pretty sensitive to delays, and I think I'd notice a delay as you approach 500ms. Most people wouldn't even notice that.
You aren't going to get real time display on a Windows box.
I don't understand what you mean by jitter? Do you mean flicker on screen as you are drawing the data points? "Jitter" to me is an electronics term as it relates to the signal. If you do in fact mean FLICKER, that can be resolved by erasing / drawing to an offscreen DC and then BitBlt'ing the final image to onscreen.
A better bet would be to dump Winforms and go WPF as that is double buffered for you and the renderings are hardware accelerated by your video card where as Winforms / GDI is not.
Personally though, I think going the offscreen DC / bitblt will solve your flicker.
|
|
|
|
|
SledgeHammer01 wrote: drawing to an offscreen DC and then BitBlt'ing the final image to onscreen. Excellent thinking and reasoning; in fact, highly parallel, if not identical, to my own. I searched a lot last week for phrases like "C#, BitBLT" and asked questions in forums (Maybe here also) about it. Final result: zero knowledge.
The closest that I encountered was this...
Graphics.DrawImage Method
...which I found Here[^]
I welcome your explanation of how to do BitBLT in C#. For whatever reasons, I totally missed the boat on that one.
|
|
|
|