|
No matter what you do, you'll have to get the file stream. This is standard. You can Seek to a position (or .Position) the position of the stream, write data to it, then save it, overritting the previous file. That's probably your best bet.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Cops & Robbers
Judah Himango
|
|
|
|
|
|
Use the SetLength method of the FileStream class.
---
b { font-weight: normal; }
|
|
|
|
|
I have a control inherited from ComboBox. In constructor I add some items. Now, when my control is have been putted onto form designed calls to constructor and item collection is automatically updates. How can I prevent this action, some directive or attribute that tells to designer not to call to constructor during the design time?
|
|
|
|
|
Please see this page[^] for information about how to write design-time aware code.
Also, the designer will always call the default constructor (i.e. the constructor that takes zero parameters). If you want to create a constructor that gets called only by your code, create a second constructor that takes a parameter.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Cops & Robbers
Judah Himango
-- modified at 13:30 Thursday 15th September, 2005
|
|
|
|
|
There is a lot of information there... unfortunately I have not found what I need, but thanks.
Declare additional constructor with different from void parameters will be not so "right" way. It must be something that resolves this problem...
|
|
|
|
|
If your control inherits from System.ComponentModel.Component (or System.Control, which inherits from System.ComponentModel.Component), then you can get the value from the protected DesignMode property to indicate whether you're in design mode.
public class MyControl : Control
{
public MyControl()
{
bool designMode = this.DesignMode;
}
}
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Cops & Robbers
Judah Himango
|
|
|
|
|
thanks that is exactly what I need
|
|
|
|
|
I have a gif file with 3 pictures, next to next in one image. Seperated by black lines.
Each picture has a width of 100pix, the black seperation line has 2 pix. Max width is 306.
Now I want to copy the first picture into the imagebox. How can I copy the first picture into the imagebox?
I never have worked with sprites, so I don't know how to get this.
|
|
|
|
|
It's seems that your problem is to separate one peace of entire image from other. If there is width of each peace is constant it will be very easy, but if not, you need to "search for black line"...
What exactly you want to know?
|
|
|
|
|
I know exactly the positions.
1st 1-300
2nd 303-603
3rd 606-906
no dynamic problem, all pictures positions are placed logical, like sprites.
|
|
|
|
|
there is your code, I believe it works
<br />
Image src = Image.FromFile();<br />
<br />
Graphics gr = Graphics.FromImage(src);<br />
<br />
Point point = new Point(1, 0);<br />
<br />
for (int i=0; i<3; i++)<br />
{<br />
Bitmap bitmap = new Bitmap(300, , gr);<br />
<br />
gr.DrawImageUnscaled(src, point);<br />
<br />
point.Offset(303, 0);<br />
<br />
bitmap.Save("filename.bmp", System.Drawing.Imaging.ImageFormat.Bmp);<br />
}<br />
|
|
|
|
|
thx
|
|
|
|
|
Hi,
I need to implement node copy/paste functionality in my treeview control. What is a good way of accomplishing this?
Thanx
|
|
|
|
|
Hi,
You can not "copy" nodes but you can clone them using the
myTree.Nodes[i].Clone() method
Playing with this you can implement what you need
|
|
|
|
|
Thanx, but if I'm looking for sort of 'simple' copy/paste, namely just duplicating a node visually using keys 'cntrl C' and 'cntrl V', do I need to catch a 'keyPress' event or is there another way of doing it?
|
|
|
|
|
You can use the KeyDown event
|
|
|
|
|
Hello,
How can I get the last node in the hierarchy of a treeview?
Thanks
|
|
|
|
|
If you mean the last child, then:
someParentTreeNode.LastNode
or
int c = treeView1.Nodes.Count
treeView1.Nodes[c-1];
|
|
|
|
|
Thx for replying but that wont work
i = Tree.GetNodeCount(true) will return the number of nodes in the tree including the sub trees, but Nodes[i] will throw an exception as Node.Nodes contains only the nodes in the node collection of the node Im searching (yeah its confusing). Say the tree has 500 nodes but only 4 at first level, doing this:
n = Tree.GetNodeCount(true);
TreeNode last = Tree.Nodes[n]; // exception because Tree.Nodes has 4 elements and Im trying to get the 500th.
what I need is the LAST node in the last level of the tree.
|
|
|
|
|
Well, then you may need to use recursion. You can try something like this to get to the deepest node of the tree:
private void DepthSearch(TreeNodeCollection nodes, int depth)
{
int newDepth = depth;
for(int i = 0; i < nodes.Count; i++)
{
if(nodes[i].NextNode == null)
{
//your code here;
}
newDepth++;
this.TreeSearch(nodes[i].Nodes, newDepth);
}
}
so,
calling DepthSearch(TreeView.Nodes, 0) and inserting code (where it says 'your code') that populates some data structure with the current node and the depth, should give you the ability to compare the depths and choose the deepest node.
|
|
|
|
|
TreeView1.Nodes[TreeView1.Nodes.Count - 1];
|
|
|
|
|
I need help... Here's my situation:
I have an array as:
string[] Array_A;
byte[] Array_B;
The data inside the array looks like so:
Array_A: Array_B:
0x5628, 0
0x0818, 1
0x56EE, 0
0x56EE, 0
Now.. I want to add the DISTINCT values of Array_A to an 'Array_List', or collection, or dictionary
This new 'List' will look like so:
COL_A COL_B
0x5628, 0
0x0818, 1
0x56EE, 0
... note that the values in the B column do not matter at this point. They will be updated by another process, which leads me to my next situation.
I need to update the B column by referencing the values in the A column.
void UpdateArrayList(string strCheckThis, byte bData)
{
if(strCheckthis == Col_A) COL_ B = bData
}
That code is really bad in that I have no idea to know what row I am actually updating, but it gives you the basic idea of what I need to accomplish.
So that's it in a nutshell.. I need to Add, Update and Remove rows in this arraylist (or Collection, or Dictionary =)
The last question is: Which object fits this method best?
ANY help anyone can offer will be met with swift and decisive praise and adoration...
Thank you in advance
Ray
|
|
|
|
|
Use a hash table. Use the Add method to add the values, with the string as key, and the byte as value. Use the ContainsKey method first to check if it already exists in the table, so you don't add duplicates. To retrieve the values, use the Item method.
---
b { font-weight: normal; }
|
|
|
|
|
Ok.. so far so good!
Here's what I have:
Hashtable table = new Hashtable(); //-- Simple enough!
Here's the data:
table.Add("0x5628","0x5628, 0, 0");
table.Add("0x0818","0x0818, 1, 0");
table.Add("0x56ED","0x56ED, 4, 0");
Now, I want to enumerate through each element, and "Do stuff" with it... I thought this might work:
foreach ( object item in table)
{
MessageBox.Show((string)item.ToString());
//-- Do other stuff
}
...alas, though... it only displays a message as to what the object is, not what it contains. Ideally, I want to return a string from each element:
"0x5628, 0, 0"
From here I can parse it to my heart's desire... I just can't seem to get to the data portion. Any ideas?
|
|
|
|