|
Hi ALL,
I am dynamically adding items to a combobox using a text box and a button. The value gets populated into the combobox, but when I close the form and reopen it, the combobox has no values in it.
Is there any way in which i can view the added item after closing and reopening the form.
Thanks,
|
|
|
|
|
You could create a static list which is also added to when you add to the comboBox, then use this list to populate the comboBox when the form is opened... FormShown event or something similar will do the trick
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
1???
What's wrong with my suggestion?
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
I tried to balance the negative feedback left.
|
|
|
|
|
Thanks
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
I don't get the downvoting either.
Your suggestion is dead on. It would work just fine. No snarky answer and being helpful. You didn't deserve a 1.
|
|
|
|
|
Thanks for your support
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Thanks for ur suggestion...
I tried to load the list as assigned it to the combobox at form load.
private List<String> List = new List<string>();<br />
private void button2_Click(object sender, EventArgs e)<br />
{<br />
comboBox.Items.Add(textBox4.Text);<br />
<br />
List.Add(textBox4.Text);<br />
}<br />
<br />
private void Form1_Load(object sender, EventArgs e)<br />
{<br />
this.comboBox.Items.Add(List);<br />
}<br />
Am i doing it the right way??.... coz the combobox is empty again at form load..... I know am missing something.
Appreciate your response.....Thanks
modified on Wednesday, November 18, 2009 4:29 AM
|
|
|
|
|
You need to make the list static, this means that the list will be the same for all instances of the form. No matter how many forms you create, there will only be one list. This way the list will only be cleared when the application is closed, not when the form is closed.
Change to this line...
private static List<String> List = new List<string>();
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
okay Thanks for your reply.
I guess il have to create a table and populate the combobox from it.
DO you know how I can go about doing this using language integrated query?
Thanks,..
|
|
|
|
|
What do you mean by table? What's wrong with the static method? Are you trying to keep the list when the application is closed?
I don't use LINQ (still not been converted), its fairly simple to write code that will access data (with the use of other .Net functions of course) and you get full control of how it works that way. How are you wanting to store the data?
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
hello....
Thanks for your reply. Yes it would be beneficial to keep the items list when the application is closed and reopened. By table I mean that, I would want to create a table with one column containing the list of items which the combobox should have. And I want to load this column as the combobox data source. Because I want the user to add new entries into the combobox as and when required.
|
|
|
|
|
First, you need to learn the basics of programming. Get a good book on C#.
The items you add to the combo box live only as long as your app is running. If you want to persist them, you need to write code to save the items to a data store such as a text file, an xml file or a database.
|
|
|
|
|
I believe the OP asked for when the 'Form' was re-opened, not the application...
...Did you give me a 1?
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
musefan wrote: ...Did you give me a 1?
Out for revenge are we?
|
|
|
|
|
MUST... FIND... ENEMY...
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
While your answer is 'technically' correct, it is not holistic. So what if he/she wishes to persist data between different runs of the application (which is what is required for real-world apps). I don't remember giving you a 1. I don't usually do that.
|
|
|
|
|
Like I said, there was no mention of when the application is closed and re-opened.
Also, there are valid requirements to keep the information only while the application is running. Again, there is no mention of why the functionality is required.
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Catching fish for someone is not a real help but teaching how to catch fish is a real help because you never have to catch fish for the same person again.
Teach always with good manners because inappropriate manners do not motivate anyone to learn from him/her, even if something is important to learn.
|
|
|
|
|
Was my answer not mannered in some way ? I prefer fishing for them rather than teaching them to fish at least till they know what a fish is
|
|
|
|
|
Heya,
I have the following code that stretches a control to its parent size in a given number of steps. However, the panel1.update() method causes the screen to flicker. Is there a workaround for this, so that the animation will run smooth?
public void Animate(Control Ctrl, int Steps)
{
Bitmap OriginalView = new Bitmap(Ctrl.Width, Ctrl.Height);
Ctrl.DrawToBitmap(OriginalView, new Rectangle(0,0,Ctrl.Width,Ctrl.Height));
int ParentWidth = (int)Ctrl.Parent.Width;
int ParentHeight = (int)Ctrl.Parent.Height;
int wGrowth = (int)(ParentWidth - Ctrl.Width)/Steps;
int hGrowth = (int) (ParentHeight - Ctrl.Height)/Steps;
panel1.BackgroundImage = OriginalView;
Ctrl.Visible = false;
for (int i = 0; i < Steps; i++)
{
Bitmap NewRender = new Bitmap(OriginalView, new Size(OriginalView.Size.Width + i*wGrowth, OriginalView.Size.Height + i*hGrowth));
panel1.BackgroundImage = NewRender;
panel1.Update();
}
GC.Collect();
Ctrl.Visible = true;
panel1.BackgroundImage = null;
panel1.Update();
}
Thanks in advance,
Zaegra
Motivation is the key to software development.
|
|
|
|
|
Enable Double Buffering on the control.
|
|
|
|
|
What is the point of the for loop, there is no pause in between updates, thus you will get little visual effect from it. This will likely be one reason for your flickering too.
I would suggest using a timer (of some sort) and use the paint event of the panel to do your drawing.
That way you can calculate any resize values when you start the animation, and apply the values with each tick of the timer along with a call to panel.Invalidate();
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Instead of visible = false /visible = true , use BeginUpdate() and EndUpdate() methods.
|
|
|
|
|
the biggest issue I see is the panel.BackgroundImage = null;
delete that...
what you are getting by setting the null is :
image
no image
image
no image
hence the flicker.
all you need to do is change the image. when you do, it will throw the Paint command automatically(if memory serves if not throw it manually).
What I usually do(manual double buffering)
bitmap bmp0,bmp1;
control.Image = bmp0;
bmp1 = bmp0;
(modify bmp1}
bmp0 = bmp1;
control.Image = bmp0;
no flicker!
|
|
|
|