|
Create a custom action for the uninstall that removes the value
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Hi.
Thanks for the quick reply. I have tried to create custom actions but without success (I'm not really sure how to do this). Would you please provide an example on how to do this?
Sorry for the "extra work"....
|
|
|
|
|
|
Again, thanks for the quick reply!
I guess I should have informed about the following: I'm a total newbie in computer programming in general. I have tried to search google (and codeproject) for solutions to my problem and I've indeed found many examples on how to create custom installations/un-installations.....
My problem is that these examples are either too complicated for me to understand, or too general for me to be able to use for my specific problem.
Maybe I'm a "lost case" since I cannot uderstand the existing examples on the internet, but if any of you have the time to help me with this I would really appreciate it (either with a specific example on how to resolve my problem, or a very (VERY) simple example on how to solve something similar).
Again, what I want to do is to remove one registry entry during un-installation.
|
|
|
|
|
Kaare Tragethon wrote: My problem is that these examples are either too complicated for me to understand, or too general for me to be able to use for my specific problem.
And you expect us to provide you something different? Or perhaps you want one of us to write it for you?
Kaare Tragethon wrote: I'm a total newbie in computer programming in general.
Then perhaps this task is above head at the moment and you should be working on other projects to build your skills first.
I know the language. I've read a book. - _Madmatt
|
|
|
|
|
Sorry for bothering you guys.
|
|
|
|
|
Hey i am a new programmer and i am having some problems with SAPI. I have two button click events that suppose to read the content of a text block but on one works. So i dont know whats up with that. See code below.
SpeechSynthesizer _speechSynthesizer;
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
_speechSynthesizer = new SpeechSynthesizer();
_speechSynthesizer.Speak(Text1.Text);
}
private void Button2_Click(object sender, System.Windows.RoutedEventArgs e)
{
_speechSynthesizer = new SpeechSynthesizer();
_speechSynthesizer.Speak(Text2.Text);
}
|
|
|
|
|
Some thoughts:
- Are you sure that
Button2_Click() is being called?
- Does a breakpoint in the method get hit?
- Have you confirmed that
Text2 is in fact the text box that contains the text?
/ravi
|
|
|
|
|
I am sure that these methods are being called and that the textblock actually contains the text that should be read. What I have a problem with is how the speech synthesizer works. Lets say, we have two text blocks. If I click to have the content of the first textblock spoken, then when I click for the second, nothing is said. Even after clearing the object, It remains stagnant. Basically after the first instance, it is static. Please explain.
|
|
|
|
|
Hmm, it should work. Does SpeakAsync() produce a better result?
/ravi
|
|
|
|
|
Using the multi-thread, it can not set the form control's value. So I use the delgate to set the control value, but the program shows error "Cross-thread operation valid".
If I want to change the control value in not main thread, how can I do?
using System;
using System.Windows.Forms;
namespace DelegateForm {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void TestDelegate() {
System.Threading.Thread.Sleep(1000);
OnAdd2List myDelegate;
myDelegate = new OnAdd2List(Add2List);
myDelegate(DateTime.Now.ToString());
}
private void Add2List(string s) {
this.listView1.Items.Add(s);
}
private delegate void OnAdd2List(string s);
private void button1_Click(object sender, EventArgs e) {
this._thread = new System.Threading.Thread(new System.Threading.ThreadStart(TestDelegate));
this._thread.Start();
}
private void button2_Click(object sender, EventArgs e) {
}
private System.Threading.Thread _thread;
}
}
|
|
|
|
|
Have a look at this thread.
Quidquid latine dictum sit, altum videtur.
Whatever is said in Latin sounds profound.
|
|
|
|
|
you will need Invoke() as explained here[^].
|
|
|
|
|
Luc is right.
Try something like this
using System;
using System.Windows.Forms;
namespace DelegateForm
{
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void TestDelegate() {
System.Threading.Thread.Sleep(1000);
OnAdd2List myDelegate;
myDelegate = new OnAdd2List(Add2List);
myDelegate(DateTime.Now.ToString());
}
private void Add2List(string s) {
AddItem(s);
}
private delegate void OnAdd2List(string s);
private void button1_Click(object sender, EventArgs e) {
this._thread = new System.Threading.Thread(new System.Threading.ThreadStart(TestDelegate));
this._thread.Start();
}
private void button2_Click(object sender, EventArgs e) {
}
private delegate void delAddItem(string item);
private void AddItem(string item){
if (listView1.InvokeRequired){
delAddItem del = new delAddItem(AddItem);
this.invoke(del, item);
}
else{
listView1.Items.Add(item);
}
}
private System.Threading.Thread _thread;
}
}
If at first you don't succeed ... post it on The Code Project and Pray.
|
|
|
|
|
I need to use the Unicode version of the following:
DirectoryInfo currentDir = new DirectoryInfo(newDir);
I am trying to grab the Security descriptors from every directory but on directories over 260 characters it errors out. I am utilizing the following Pinvoke and adding on "\\?\" to each UNC path given to the above DirectoryInfo class, but it doesnt work, it just says "illegal character in path":
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern int DirectoryInfo(string newDir);
Can someone show me how this can be done for the above line?
Thanks
|
|
|
|
|
no one has any insight into this?
|
|
|
|
|
Hi Team,
Requrired functionality is that, I have to build a product based c# assembly with implementation of license funcionality.
Any body help me out from this scenario.
Regards
Tarun Singh
Sr. Software Engineer.
mailto:tksingh@zenta.com
|
|
|
|
|
I would change your job title if that is your question.
There are a lot of approaches to the problem and each approach is dependent on your individual business requirements. The most simplistic approach is an algorithm that can create keys that match a detectable pattern that will unlock features. Secure key fob is probably the most sophisticated. And internet registration, dll exchange is probably a nice in-between.
|
|
|
|
|
Could it be possible for a 15 days trial, so that while reinstalled it will not work.
Regards
Tarun Singh
Sr. Software Engineer.
mailto:tksingh@zenta.com
|
|
|
|
|
Hi all, please take a look at the screenshot below :
http://i.imagehost.org/0954/picture1_6.jpg
Sorry, the red line is for privacy.
As you can see, the groupBox is "above" the grid.
How to set the groupBox so the grid is above it?
I had tried bringToFront from the grid but failed.
Please take a look at my code below :
private void InitializeTab()
{
int intJmlChannel = Convert.ToInt32(channel.DefaultPersister.CountChannel());
intChannelth = 1;
myTabs = new TabPage[intJmlChannel];
GroupBox[] myGroupBox = new GroupBox[intJmlChannel];
Label[] myLabelMsisdn = new Label[intJmlChannel];
Label[] myLabelPort = new Label[intJmlChannel];
List<channel> listChannel = channel.DefaultPersister.ListAll().ToList();
myGrid = new iGrid[intJmlChannel];
for (int i = 1; i <= intJmlChannel; i++)
{
myGrid[i-1] = new iGrid();
myGrid[i-1].BorderStyle = iGBorderStyle.Flat;
myGrid[i-1].DefaultCol.CellStyle = iGrid1DefaultCellStyle;
myGrid[i-1].DefaultCol.ColHdrStyle = iGrid1DefaultColHdrStyle;
myGrid[i-1].Dock = DockStyle.Fill;
myGrid[i-1].ForeColor = SystemColors.WindowText;
myGrid[i-1].Header.Height = 19;
myGrid[i-1].Location = new Point(0, 0);
myGrid[i-1].RowTextCol.CellStyle = iGrid1RowTextColCellStyle;
myGrid[i-1].Size = new Size(902, 458);
myGrid[i-1].TabIndex = 0;
myGrid[i-1].TreeCol = null;
myGrid[i-1].TreeLines.Color = SystemColors.WindowText;
myGrid[i-1].BackColorEvenRows = Color.PaleTurquoise;
myGrid[i - 1].ReadOnly = true;
myTabs[i - 1] = new TabPage(listChannel[i - 1].MsisdnChannel);
myTabs[i - 1].Name = listChannel[i-1].MsisdnChannel;
if (listChannel[i - 1].SubDealer == 5)
{
myTabs[i - 1].BackColor = Color.Pink;
myTabs[i - 1].ForeColor = Color.Blue;
}
myGroupBox[i-1] = new GroupBox();
myGroupBox[i - 1].Dock = DockStyle.Bottom;
myGroupBox[i - 1].TabIndex = 1;
myGroupBox[i - 1].TabStop = false;
myGroupBox[i-1].Location = new Point(0, 367);
myGroupBox[i-1].Size = new Size(902, 91);
myTabs[i - 1].Controls.Add(myGroupBox[i - 1]);
myLabelMsisdn[i - 1] = new Label();
myLabelMsisdn[i - 1].AutoSize = true;
myLabelMsisdn[i - 1].Text = "Port : " + listChannel[i-1].PortNumber;
myLabelMsisdn[i - 1].Location = new Point(7, 20);
myLabelMsisdn[i-1].Size = new Size(35, 13);
myLabelMsisdn[i-1].TabIndex = 0;
myLabelPort[i-1] = new Label();
myLabelPort[i-1].AutoSize = true;
myLabelPort[i-1].Location = new Point(7, 44);
myLabelPort[i-1].Size = new Size(35, 13);
myLabelPort[i-1].TabIndex = 1;
myLabelPort[i - 1].Text = "Sub Dealer : " + listChannel[i-1].SubDealer;
myGroupBox[i-1].Controls.Add(myLabelMsisdn[i-1]);
myGroupBox[i - 1].Controls.Add(myLabelPort[i - 1]);
myTabs[i-1].Controls.Add(myGrid[i-1]);
tabControl.Pages.Add(myTabs[i-1]);
}
}
Above code is to create the control needed at runtime.
|
|
|
|
|
And the question is?
Please describe the problem and share what you have tried so far. Also, you need to fix the link in your post.
|
|
|
|
|
Thank you d@nish for the reply.
Yes, i just tried how to put link to my screenshot since it was the first time for me.
|
|
|
|
|
You did not make clear what you want, and the image is not really helping in probing your mind.
In your code I see a TabPage with a GroupBox and an iGrid added to it, both docked to the bottom or more. So they are bound to overlap.
There are many ways to make them not overlap, pick one:
1. make the iGrid anchored all around but leave sufficient bottom for the GroupBox;
2. add the iGrid to the GroupBox, GroupBox docked fill, iGrid anchored all around.
3. use a SplitContainer (is overkill IMO)
4. use a TableLayoutPanel; you might add the two labels and one iGrid directly to it.
|
|
|
|
|
Thank you Luc for the reply.
Luc Pattyn wrote: You did not make clear what you want, and the image is not really helping in probing your mind.
Yes, sorry for that. Maybe i should explain the image. On the image, there's an arrow point to a row in the grid. As we can see, the groupBox is "above" the grid. Also we can see that the groupBox is hiding the grid scrollBar. What i want is the rows in the grid can be seen all until the last row but the groupBox still on below position of the form.
I had pick your suggestion no. 1 and it didn't work.
For your suggestion no. 2, i don't want the grid inside the groupBox ( i want them to be separated ).
Suggestion no. 3 and 4 not tried yet.
|
|
|
|
|
Endien wrote: I had pick your suggestion no. 1 and it didn't work.
So you did it wrong; of course it can be made to work. And there are many more ways to get what you want, based on location/size/bounds properties and events.
|
|
|
|