|
Hi,
I think you were quite lucky that your arguments actually started Explorer.
Review this http://support.microsoft.com/kb/307856/en-us[^]
I would have tried this (not tested):
Process p = new Process();
p.StartInfo.Filename = "explorer.exe"
p.StartInfo.Arguments = String.Format("\"{0}\" /select,\"{1}\"", folder1Path, file1);
p.Start();
where folder1Path and file1 are both fully qualified.
Alan.
|
|
|
|
|
I think you can use FindWindowEx to get the SysListView32 of Windows Explorer, then use SendMessage with LVM_SETITEMSTATE to select the items. The difficulty is to know the position of the items. Perhaps LVM_FINDITEM can be used for this. In this way you can also select multiple files.
modified 27-May-14 4:57am.
|
|
|
|
|
Dear developers,
I am coding a very small project for my study. I want to refresh form1 after form2 is closed. For example, I open form1 and click one button to open form2 and in form2 I can insert data to the database (ex : tblItem). In addition, combobox in form1 retrieves data from the database (tblItem) too. So, after inserting data from form2 and when I close the form2, I want the comboxbox in form1 refresh to retrieve the last update of tblItem data.
Here is my code to open form2
form2 frmitem = new form2();
frmitem.ShowDialog();
Please advise, thanks.
Visoth
Chuon Visoth
Angkor Wat - Cambodia
asp.net - c sharp beginner
|
|
|
|
|
You can paste your code directly behind the ShowDialog() row. If you call the ShowDialog() function, the main form will "sleep" until the dialog window is closed.
For example, if you call ShowDialog(), and on the next line you call Messagebox.Show(), the messagebox will be shown as soon as the dialog window is closed.
So your code might look like this:
form2 frmitem = new form2();
frmitem.ShowDialog();
UpdateMyComboBox();
|
|
|
|
|
Sorry, can give explain me more detail than this?
Chuon Visoth
Angkor Wat - Cambodia
asp.net - c sharp beginner
|
|
|
|
|
It's not possible to explain it in more detail, because it's just too simple... Maybe my explanation was not clear enough, I'll try once more.
You asked how to refresh a combobox after a child form has closed.
The answer is simple - the code that refreshes the combobox should be right behind the form.ShowDialog() line. It will be executed as soon as the child form is closed, and that's what you want.
|
|
|
|
|
private void lkl_additem_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) //form1
{
//Open form2 from form1
form2 frmitem = new form2();
frmitem.ShowDialog();
this.cbo_itemname.Refresh(); // This is a combobox in form1 which I wanna update when form2 closes.
}
Is the code like this??? However, it doesn't work.
Chuon Visoth
Angkor Wat - Cambodia
asp.net - c sharp beginner
|
|
|
|
|
Hi,
Actually he wants you to place the code that refreshes the combobox just before the following line in ur code..
frmitem.ShowDialog();
Hope u understand....
Regards,
Tash
|
|
|
|
|
Thnx a ton. Ur solution is the best
|
|
|
|
|
What is the equivalent window style for FormBorderStyle.Fixed3D, FormBorderStyle.FixedSingle, FormBorderStyle.FixedDialog, FormBorderStyle.SizableToolWindow and FormBorderStyle.FixedToolWindow? The only one I know is WS_THICKFRAME for FormBorderStyle.Sizable.
|
|
|
|
|
So I'm trying to display an icon in a PictureBox control while preserving the alpha of the icon image. Loading the icon and applying it to the control looks something like this:
Icon icon = new Icon("thisIsTheIcon.ico");
pboAppIcon.BackgroundImage = icon.ToBitmap();
This works fine except that all transparent areas of the icon are show as black. I tried to get around this using the Bitmap class' .MakeTransparent method, but the result looks terrible, since the icon uses varying alpha translucency (near-black artifacts remain).
Normally I'd just let this go as a .Net eccentricity, except that I've seen another application achieve exactly what I'm after using identical code and icons. I'm wondering if there's a Form style or a flag somewhere that needs to be changed.
Does anyone have any suggestions?
|
|
|
|
|
You have to load the file as Bitmap, not Icon.
Bitmap bmp = (Bitmap)Image.FromFile("thisIsTheIcon.ico");
pboAppIcon.BackgroundImage = bmp;
|
|
|
|
|
I have an array of bytes. I need to remove the first 16 bytes of the array, then append another byte array onto it. What do you suggest is the best way to do this?
|
|
|
|
|
Hi,
for small arrays, just do it; i.e. allocate a new array of correct length, and copy the data you want in it (see Array.Copy).
for large arrays (hundreds of MB), don't do it; make sure you don't need it, i.e. either make your consumer smart enough to skip some, and combine two arrays, or teach your producer(s) to first disclose lengths so you can allocate the final array at once, then let the producer(s) fill their allotted space.
FYI: most .NET methods that take an array also have an overload that takes (array, startindex, length) in an attempt to alleviate such problems.
|
|
|
|
|
I addition to Luc's advice, have a look at the System.Buffer[^] class, specifically it's BlockCopy[^] method.
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
I rarely use Arrays in a situation like this. I prefer using the generic List[^] class. Using a list for your application would look like this:
Using System.Collections.Generic;
[...].
List<Byte>myList = new List<Byte>();
myList.AddRange(someByteArray);
myList.RemoveRange(0,16);
myList.AddRange(someOtherByteArray);
Byte[] retVal = myList.ToArray();
return retVal;
|
|
|
|
|
If you really must use an array, then the others have already given you perfectly reasonable options. However, you could also create a new data structure that is like a list but that you can remove items from both sides without a speed penalty.
A list works by internally storing an array and removing/adding elements near the end of the array as needed. If you remove items from the beginning of a list, all the rest of the items will have to be shifted to the beginning to get rid of those empty elements. However, your class (DoubleSidedList?) could just keep the values near the center of the array. That way, you could trim or add to either side without worrying about speed problems when expanding or contracting either side of the collection.
Naturally, this would incur a small performance penalty due to wrapping an array in a collection type.
|
|
|
|
|
If the size is very large and performance is very important, I suggest you create a new data structure:
class ExArray{
byte[] data;
int start;
int end;
public this[int i]
{
get { return data[(start + i) % data.Length]; }
set { data[(start + i) % data.Length = value; }
}
public Length { get { return end - start >= 0 ? end - start : end - start + data.Length; }}
public void Shift(...){...}
public void Slice(...){...}
}
April
Comm100 - Leading Live Chat Software Provider
modified 27-May-14 8:58am.
|
|
|
|
|
I need to add the ability to initiate a Skype call in a C# WinForms app. I have Googled this alot and I see lot's of examples to other things, but no example to call someone.
Anyone know how to do this?
Everything makes sense in someone's mind
|
|
|
|
|
|
Hi Allow,
Can anybody let me know how the first constructor works in below code. Whats the use in writing it.
public class c
{
public c(string a) : this()
{;};
public c() {;}
}
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
indian143 wrote: Whats the use in writing it.
From what you have posted none whatsoever, there is also a syntax error on the line
{;};
so it does not even compile.
|
|
|
|
|
Ok. If I removed ; from the {;}; as below whats the o/p and why?
public class c
{
public c(string a) : this()
{;}
public c() {;}
}
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|
|
I;m not sure where you got that code from but it's called Contructor Chaining.
When overloading constructors, code can be greatly simplified by one constructor calling another that has the code in it for all or many constructors.
To this end, it is more normal for the constructor(s) with more parameters to contain the code and to be called by the 'lesser' constructor(s)... i.e.
public class Class
{
private string name;
public Class(string name)
{
this.name = name;
}
public Class()
: this(string.Empty)
{ }
public string Name
{
get { return name; }
}
}
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
Oh. Great thanks Dave. Thanks a Lot.
Thanks & Regards,
Md. Abdul Aleem
NIIT technologies
|
|
|
|