|
Hi...I really need help for a runtime bug.
I have made a custom panel and custom textbox with some properties and one method.
Both Classes(panel and textbox) have one public method called AddMe, witch will add panel to the splitcontainer on form1 and textbox on panel.
My problem is that, at first it worked just fine, panel was added to the splitcontainer and textbox was added to panel. But after i added a second textbox witch also was gonna be added to panel, then the first textbox wont show anymore, nor the the second textbox. I did´nt make the big change on the code. I try to remove the referrence to the second textbox, but nothing helped.
Hope anyone can help...Best regards...
Here is the sourecode...
private void InitializeInputPanel()
{
InputPanel.Width = PnlWidth;
InputPanel.Height = Pnlheight;
InputPanel.BackColor = pnlbackgroundcolor;
InputPanel.BorderStyle = Pnlborderstyle;
InputPanel.Font = Pnlfont;
InputPanel.Dock = Pnldockstyle;
InputPanel.Location = PnlPoint;
InpbBeskrivelseTxtBox inpb = new InpbBeskrivelseTxtBox();
inpb.AddMe(InputPanel);
}
class InpbBeskrivelseTxtBox
{
TextBox BeskrivelseTextBox =new TextBox();
#region Fields
private int txtwidth;
private int txtheight;
private Color txtbackgroundcolor;
private BorderStyle txtborderstyle;
private Font txtfont;
private DockStyle txtdockstyle;
private Point txtpoint;
private string txtText;
private HorizontalAlignment txtAlign;
#endregion
#region Constructors
public void InpbBeskrivelseTextbox()
{
txtwidth = 321;
txtheight = 21;
txtbackgroundcolor = Color.Red;
txtborderstyle = BorderStyle.Fixed3D;
txtfont=new Font("Century",8);
txtdockstyle = DockStyle.Top;
txtpoint = new Point(0, 0);
txtText = "Beskrivelse";
TxtAlign = HorizontalAlignment.Center;
}
#endregion
#region properties
public int Txtwidth { get => txtwidth; set => txtwidth = value; }
public int Txtheight { get => txtheight; set => txtheight = value; }
public Color Txtbackgroundcolor { get => txtbackgroundcolor; set => txtbackgroundcolor = value; }
public BorderStyle Txtborderstyle { get => txtborderstyle; set => txtborderstyle = value; }
public Font Txtfont { get => txtfont; set => txtfont = value; }
public DockStyle Txtdockstyle { get => txtdockstyle; set => txtdockstyle = value; }
public Point Txtpoint { get => txtpoint; set => txtpoint = value; }
public string TxtText { get => txtText; set => txtText = value; }
public HorizontalAlignment TxtAlign { get => txtAlign; set => txtAlign = value; }
#endregion
#region Private Methods
private void InitializebeskrivelsesTextBox()
{
BeskrivelseTextBox.Width = Txtwidth;
BeskrivelseTextBox.Height = Txtheight;
BeskrivelseTextBox.BackColor = Txtbackgroundcolor;
BeskrivelseTextBox.BorderStyle = Txtborderstyle;
BeskrivelseTextBox.Font = Txtfont;
BeskrivelseTextBox.Dock = Txtdockstyle;
BeskrivelseTextBox.Location = Txtpoint;
BeskrivelseTextBox.Text = TxtText;
BeskrivelseTextBox.TextAlign = TxtAlign;
BeskrivelseTextBox.BringToFront();
}
#endregion
#region Public Methods
public void AddMe(Control control)
{
InitializebeskrivelsesTextBox();
control.Controls.Add(BeskrivelseTextBox);
}
#endregion
}
|
|
|
|
|
Hi,
your code is pretty weird. I'll skip many details, and make only a few remarks.
1.
For one, InpbBeskrivelseTxtBox is not a TextBox , it isn't even a Control . Yes, it has a field that holds a TextBox , but that does not turn it into a TextBox.
Therefore
control.Controls.Add(BeskrivelseTextBox); will never succeed, as the AddMe() method expects a Control . So I guess your code won't compile.
What you really want is have class InpbBeskrivelseTxtBox implement a TextBox , a specialized one.
So you should start off with
class InpbBeskrivelseTxtBox : TextBox {...} and remove the TextBox field inside that class; the class itself now is a TextBox, which you can add to a parent Control .
When you do this, InpbBeskrivelseTxtBox automatically inherits all the Properties a TextBox has, so you'll have to organize your initialisation a bit differently, and maybe assign appropriate values in the constructor.
Custom Control: Numeric TextBox: TextBox that alow you to enter only numbers[^] is a short CodeProject article that demonstrates how things could be done. I would suggest you read it.
2.
If you are new to Windows user interface programming, I'd recommend buying and studying a book on the matter, most any C# book should do. Learning from a book may seem a slow process, but trust me it is the fastest way to get acquainted with the proper way of doing things.
3.
Visual Studio offers a choice what to do when compile errors occur; one option is to run the previous version, it once was the default, maybe it still is, I don't know. This is very bad, as it executes an exe that does not match your current source files. Look for the option (probably menu Tools/Options/Projects and Solutions/Build and Run/On Run when errors occur), and make sure it is set to "Do not launch". That will avoid lots of grief, enforcing compilable source code before you can even attempt to run or debug.
modified 28-Jul-18 21:55pm.
|
|
|
|
|
Just to add to Luc's excellent and comprehensive answer.
I'd be a little wary of a control method that adds that control instance to a specific form - from a OOPs point of view that is very wrong: a control should not need to know about it's container as that restricts it's usability. Plus there is the fun and games of working out which Form1 instance it is supposed to be attached to...
A Form should add it's Controls, not the other way around.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
You could've just passed a reference to the "text box"; instead of duplicating every property.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
I want to read the text file on a specific line and perform a task according to the information.
example: I have a string with the value ON, in case the program will read the text file online, if you have the information ON on line 4 performs a task, if OFF accomplishes another task can anyone help me?
|
|
|
|
|
With what part of this? What do you mean by "online"?
|
|
|
|
|
Text files don't have "lines" - they are just a stream of characters, where a specific character (or pair of characters, it's OS dependant) are interpreted by some functions as an "End of Line" character.
As such, the only ways to find "line 4" are to:
1) Read the whole text into a string and scan it for '\n' characters yourself.
2) Use the ReadLine methods provided with text streams to skip lines 1 to 3.
3) Read the whole text into an array of strings using the File.ReadAllLines method, and access each line via the array index.
But ... You are talking about "online" so it gets more complex: you can only read the file if you have access to it, and that means pretty much only on the computer that the software is running on. For C# in a website, that means the server not the client - C# does not run on the client at all, and server code has no direct access to client files.
You may have to bear this in mind when you design your system, as it will probably work in development (where the client and the server are the same physical computer) but fail spectacularly in production.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
He's going to think he has to do all 3.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Hi, My name is Wish and I have recently coded an application that recognizes commands I ask it to do(open notepad, gives time, etc.) I now want to be able to ask it a question like "who is Barack Obama" and it will respond with the first paragraph of the wikipedia article.
I have this code so far which requires me to manually type in what I want to search for.
This is that code
<pre> var webClient = new WebClient();
var pageSC = webClient.DownloadString("http://en.wikipedia.org/w/api.php?format=xml&action=query&prop=extracts&titles=" + textBox1.Text + "&redirects=true");
XmlDocument doc = new XmlDocument();
doc.LoadXml(pageSC);
var fnode = doc.GetElementsByTagName("extract")[0];
try
{
string ss = fnode.InnerText;
Regex regex = new Regex("\\<[^\\>]*\\>");
string.Format("Before:{0}", ss);
ss = regex.Replace(ss, string.Empty);
string result = String.Format(ss);
richTextBox2.Text = result;
}
catch
{
richTextBox2.Text = "error";
}
Any and all help will be greatly appreciated.
If this is too vauge of a question please tell me and I will try to explain in more detail.
Thanks,
Wish
|
|
|
|
|
You haven't really said what the problem is that you are facing. I assume that the issue you are having is that you don't know how to do the voice recognition part. Would that be a fair assumption?
This space for rent
|
|
|
|
|
yeah thats basically it..
|
|
|
|
|
What are you using for recognizing spoken commands? If it is the MS-agent technology, then it will not accept words that are not defined as a command.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I figured out how to use my voice to search for stuff but now I need to get it to Speak the first paragraph...
modified 28-Jul-18 2:22am.
|
|
|
|
|
Download the article into a stream, identify the first paragraph and feed that to the TTS engine.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
how would I download it to a stream?
|
|
|
|
|
|
Instead using `XmlDocument` use AngelSharp library to parse the HTML and extract first paragraph.
AngleSharp - Home[^]
|
|
|
|
|
I have a Yaxis_bufferList, which gets updated with new data. My Xaxis_bufferList is fixed and always contains same values.
I need to plot these values on a graph. whenever i plot the new graph, the previous graph is lost. how do i retain the data? How do i plot all the graphs.
|
|
|
|
|
How are you plotting them now?
There are many ways to plot graphs, and some depend on the environment you are working in - so explain where you are and show us the relevant code fragments.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I have this Show graph function which i used to plot the data
ShowGraph(int flag, int number, List<double> XAxisWavelengthSValues, List<double> YAxisValues, Form1 fi)
{
fi.chart.Series.Add("T Chart");
fi.chart.Series[number].ChartType = SeriesChartType.Line;
fi.chart.Series[number].YAxisType = AxisType.Primary;
fi.chart.Series[number].BorderDashStyle = ChartDashStyle.Solid;
fi.chart.Series[number].Color = Color.DarkRed;
fi.chart.Series[number].BorderWidth = 1;
fi.chart.ChartAreas[0].AxisY.Title = "Transmittance[%]";
fi.chart.Series[number].Points.DataBindXY(XAxisWavelengthSValues, "Wavelength(nm)", YAxisValues, "T[%]");
}
It plots the Line graph for X and Y data. I would like to retain the previous graph and plot the new graph on top of the previous graph.
How do i do it.
Each time i call this show graph function, my Y axis values change, X axis remain same.
|
|
|
|
|
You add a new "series line" for the new numbers (if that's what you mean by "retain the old graph" / series).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
I have a long string like
<abcd><xyz>testingmessage like this</xyz></abcd><abcd>
<xyz>testingmessage like this</xyz></abcd><abcd>
<xyz>testingmessage like this</xyz></abcd><abcd>
<xyz>testingmessage like this</xyz></abcd>
I want to create a separate xml file based on <abcd><xyz> and </xyz></abcd> these xml tags eg : <abcd><xyz>testingmessage like this</xyz></abcd> consider as one xml file . I know it's a substring search in a string in C# but is there any fastest way to do this or any other way to achieve this . Any clue regarding this will be helpful . Please help . I have to do this in C# or can I do this using javascript .
EDIT I want to create separate xml file based on <abcd><xyz> and </xyz></abcd> these xml tags in a string .
modified 21-Jul-18 2:12am.
|
|
|
|
|
sudipta saha wrote: I want to create a separate xml file based on <abcd><xyz> and </xyz></abcd> these xml tags eg : <abcd><xyz>testingmessage like this</xyz></abcd> consider as one xml file . Yuck.
sudipta saha wrote: I know it's a substring search in a string in C# but is there any fastest way to do this or any other way to achieve this . There is no competition in which we determine which algo is "the fastest". Search for Boyer Moore, there's examples on Google.
"Inserting" will always be slow, as the entire file has to be written for every change that is not simply appended. If your dataset changes often, you should use a (portable) database, not XML. That would also simplify querying your data.
sudipta saha wrote: I have to do this in C# or can I do this using javascript . Any language that supports string-manipulation.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Wrap your string in a "root element" (which you are missing); and then start parsing using XElement:
LINQ To XML Tutorials with Examples | DotNetCurry
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Hi
I am new to C#. I am an SQL DB programmer.
We have a DB application written in C#, there is no front-end. Its just backend application.
Am trying to understand the program flow of this application through debugging by setting breakpoints at various points in the code. I want to trace where is the starting point of the application, where is its endpoint. And, how is the program control flowing from start to end. I want to know how many n-tiered application it is etc.
This particular application is NOT multithreaded one.
What best can be the approach in knowing these requirements?
How can I find out if this application is MVC compliant?
What are the specific points in the entirety of a typical C# Solution,where breakpoints are best placed to know the program flow?
thank you
|
|
|
|