|
Hi
I have a list box in my program that insert some string into it with C# code.
Sometimes length of string is more than width of list box, but horizontal scroll bar doesn't appear in list box. Do you know solution of my problem ?Best Regards,
Reza Shojaee
|
|
|
|
|
|
You could indeed put the ListBox into a panel with scroll bars on the panel, but unless you make the ListBox either arbitrarily wide, or monitor the length of your strings and modify the ListBox appropriately, you can still run into the problem the OP describes, as the panel will not create scroll bars based on the ListBox content. Try it - you will see what I mean!
The simplest solution is to set ListBox.HorizontalScrollBar = trueYou should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
The simplest solution is to set ListBox.HorizontalScrollBar = true You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
For example I have tables: Countries and Goods. When user logging to the database (using my program on C#), him must be shown this tables with rows, which related only to him according to his privileges, for example only that country, where he lives and only that goods, which he sales.
How organize table of privileges in my database for that users?
I am sorry! I was not correct in my question, realy I need give to the user different capabilities on modification tables. Some users according to their privileges can modify and read data, some just read and so on. How organize table of privileges in my database for that users?modified on Sunday, March 14, 2010 11:17 AM
|
|
|
|
|
You would have to add a column to your tables that indicated what privilege level was required to view the information, and then when you perform the query, pass the user's privilege level in so that only the info available to that privilege is returned..45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Hi, I have tabcontrol,in that by pressing second tab button im adding data to third Tab Listbox.But its not get added.
SecondTab function:
private void Callbutton_Click(object sender, RoutedEventArgs e)
{
tab.AddPresetmenu("CALL BUTTON");
}
ThirdTab Fucntion:
ObservableCollection<DataItem> items = new ObservableCollection<DataItem>();
public void AddPresetmenu(string pMenu)
{
items.Add(new DataItem(pMenu));
menubox.ItemsSource = items;
menubox.UpdateLayout();
}
Third Tab ListBox XAML:
<ListBox x:Name="menubox" ItemsSource='{Binding}' Margin="0,5,0,0" Background="Silver" BorderThickness="0"> <br />
<ListBox.ItemTemplate><DataTemplate><br />
TextBlock Foreground="Blue" FontWeight="Bold" Text="{Binding Path=Name}" TextWrapping="Wrap"<br />
VerticalAlignment="Center"/><br />
</DataTemplate><br />
</ListBox.ItemTemplate><br />
</ListBox>
Here i Couldnot paste XAML code prperly i dont know why?.Its get misaligned.
By checking 'menubox',it shows count=1 and selecteditems=1,and it shows Text also.But in exe t doesnot show anything.Anu
|
|
|
|
|
In future, post WPF related questions in the WPF forum - you might get more answers.Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
Abhinav S wrote: you might WILL DEFINITELY get more answers
Fixed that for ya....45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Hi All,
I have this Crystal Reports Utility that is helping us convert reports from 9 to 11.5 and then up to CR2008. I know this sounds strange but it was the time line of when the utility was created in. Ok so in this application both CR 11.5 and CR 2008 objects (dlls) are being used. The app first calls 11.5 reportdocument object, does some work and attempts to close the com object with Marshall.Interop.Release(com object) and then proceeds to call a CR2008 object. When it does try to instantiate a CR2008 object I get a com error. It seems as if, one the GC is not disposing of 11.5 reportdocuement object yet and two there must be some common crystal reports dll being shared between the two versions. Does this sound like a fair assessment of the situation? Outside of shutting down the app and running each procedure separately which just confirms the dll conflict. How else can I confirm that this is happening?
DotNetMan
|
|
|
|
|
Anybody have any thoughts on this? Please
DotNetMan
|
|
|
|
|
I have an application I want to modify to navigate to a particular web site under specific conditions in order to trigger an action by the web site. I have to authenticate to the web site, which is easy to do in the URL. However, the browser first pops up with a message box say something to the effect of "You're about to login to the ....". The response options are "yes" and "cancel". Is there a way that I can intercept the message box via the program to have it respond "yes" every time? Additionally is there a way to detect if the message box has even been generated? I'm not a programmer but I play one at the office
|
|
|
|
|
Well, there are several issues here.
When you say "web browser", do you mean the WebBrowser control, or an external web browser, like IE, or FireFox?
If we're talking about WebBrowser control, then yes, you can probably manage that with a little research and work. If you're talking about an external browser, that's a whole other kettle of fish. The user could be using ANY of the dozen or so available web browsers, each of which still have several versions in significant use. This means you'd have to use Spy++ to discover the window handle of the browser's meassage box window *for each of the supported versions*, and then watch for each of those windows to be created, and respond accordingly.
Good luck with that..45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Mea culpa. I thought I'd left no space between "Web" and "Browser" in the subject but I guess old typing habits kicked in unnoticed.
Yes, it's the WebBrowser control. The functionality I'm looking at would work fine if I were to log into the site when the monitoring program was initiated. But I need to make it such that I can invoke it when the server starts.I'm not a programmer but I play one at the office
|
|
|
|
|
Ahhh... that should make it easier, then.
Maybe there's something usable in the response that comes back from the web site when you post the authentication url to the WebClient object.
It will come back as HTML, so you'll have to parse it, but before you go through the pa5rsing hassle, you should inspect the response in the debugger..45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
Hi,
I am using SQL Server Compact 3.5 for my database.
I am trying to update the data in the database table, dataset and the gridview by looping through each of the datagridview row by doing the following:
for(int i = 0; i<AnimalsDataGridView.Rows.Count; i++)
{
try
{
if (File.Exists(AnimalsDataGridView.Rows[i].Cells[4].Value.ToString()))
{
String currentPath = AnimalsDataGridView.Rows[i].Cells[4].Value.ToString();
Image img = Image.FromFile(currentPath);
Image thumbnail = SetThumbnail(img, 200, 200);
byte[] imageInfo = ImageToByteArray(thumbnail);
Guid guid = getGuid(thumbnail);
this.ZooTableAdapter.Update(guid, imageTitle, imageInfo, currentPath, guid);
this.ZooTableAdapter.Fill(ZooDataSet.Animals);
}
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
}
The error occurs on the the following line:
if (File.Exists(AnimalsDataGridView.Rows[i].Cells[4].Value.ToString()))
This is the error:
NullReference Exception was unhandled
Object reference not set to an instance of an object.
Is it because it is trying to update an empty row i.e the blank row?
The Update query looks like this:
UPDATE [Animals] SET [Id] = @p1, [Title] = @p2, [Thumbnail] = @p3, [FullPath] = @p4 WHERE (([Id] = @p5))
If somebody could assist me assist me with this problem, i would greatly appreciate the help.
Thanks in advance,modified on Friday, March 12, 2010 7:42 PM
|
|
|
|
|
Eagle32 wrote: //get the filePath String currentPath = picturesDataGridView.Rows[i].Cells[4].Value.ToString();
Yep that is it. The cell has no value => exception.
I wolud force something like "Invalid Bitmap" in the DB. So if there is no
file specified it(the program) will automatically put "Invalid Bitmap" and load/show a
red X or something kind of image. To check for null is expensive if you have many rows.
|
|
|
|
|
Hi,
I have already enabled the feature to show an invalid bitmap. The last row in the gridview does show an invalid bitmap.
I am just checking if i can have access to the the actual filepath of the animal image.
Any advice?
Thanks,
|
|
|
|
|
well use a try ... cath.
Even the File.Exists(...) will throw an exception if the current user
doesn't have enough privileges.
[Added]
but in your initial post you said:
The error occurs on the the following line:
if (File.Exists(AnimalsDataGridView.Rows[i].Cells[4].Value.ToString()))
This is the error:
"NullReference Exception was unhandled.
Object reference not set to an instance of an object."
This has nothing to do with the access to the file.
The null exception/stuff comes from your
AnimalsDataGridView.Rows[i].Cells[4].Value.ToString()
[/Added]
|
|
|
|
|
I discovered its because of the Blank row in the database.
I did the following but its not actually updating any of the rows. By the way no exceptions are being thrown if i do this:
foreach (DataGridViewRow row in AnimalDataGridView.Rows)
{
if (!row.IsNewRow)
{
{
}
}
}
}
Can you advise?
|
|
|
|
|
Don't allow null rows/fields.
First Open Up Access and fill in with a default Empty or Default text the fields that are null.
Now, lets say you have a table with 3 columns ID and AnimalName and AnimalPicture.
When you/the user introduce some data if the AnimalPicture textbox is empty than put in something like
Empty or Default.
I really don't know how you introduce/get the datas so without much detail that is the best I could
come up with.
|
|
|
|
|
Hi,
I have two methods, which are esentially doing similar jobs but have drastic speed differences. I don't know what is causing this speed difference. Here are the methods. The first one is like 100 times faster.
private void SaveNativeBinary(string file, long origin, long length, string opt)
{
SetSSVisible(StatusStrip, pbSmallPerc, true);
FileStream fs = null;
FileStream writer = null;
try { fs = new FileStream(file, FileMode.Open, FileAccess.Read); }
catch { throw new Exception("ERR"); }
try { writer = new FileStream(opt, FileMode.Create, FileAccess.ReadWrite); }
catch { throw new Exception("ERR"); }
fs.Seek(origin, SeekOrigin.Begin);
for (long pos = 0; pos < length; pos++)
{
if (pos % 204800 == 0)
{
SetSSValue(StatusStrip, pbSmallPerc, Convert.ToInt32(PercentageCalc(pos, length)) );
SetSSText(StatusStrip, lblStatus, "Aktarılıyor: " + BtoKB(pos).ToString() + " / " + BtoKB(length).ToString() + " KB (%" + PercentageCalc(pos, length) + ")");
}
writer.WriteByte((byte)fs.ReadByte());
}
fs.Close(); fs.Dispose(); writer.Close(); writer.Dispose();
SetSSVisible(StatusStrip, pbSmallPerc, false);
}
private void AppendBinToBin(string Container, string toAppend)
{
SetSSVisible(StatusStrip, pbSmallPerc, true);
FileStream fsA, fsB = null;
long tempLength = GetFileLength(toAppend);
try { fsA = new FileStream(Container, FileMode.Open, FileAccess.ReadWrite); }
catch { throw new Exception("ERR"); }
try { fsB = new FileStream(toAppend, FileMode.Open, FileAccess.Read); }
catch { throw new Exception("RRR"); }
try
{
fsA.Seek(0, SeekOrigin.End);
for (long pos = 0; pos < fsB.Length; pos++)
{
if (pos % 204800 == 0)
{
SetSSValue( StatusStrip, pbSmallPerc, Convert.ToInt32(PercentageCalc(pos, tempLength)) );
SetSSText( StatusStrip, lblStatus, "Aktarılıyor: " + BtoKB(pos).ToString() + " / " + BtoKB(tempLength).ToString() + " KB (%" + PercentageCalc(pos, tempLength) + ")" );
}
fsA.WriteByte( (byte)fsB.ReadByte() );
}
fsB.Close(); fsB.Dispose(); fsA.Close(); fsA.Dispose();
}
catch { throw new Exception("ERR."); }
SetSSVisible(StatusStrip, pbSmallPerc, false);
}
I am aware of the useless try-catch blocks, don't worry about them. They are not the cause of this speed difference.
Any help is appriciated.
Thanks.
|
|
|
|
|
Message Closed
modified 23-Nov-14 6:33am.
|
|
|
|
|
I am using the Process Explorer from SysInternals and the first method creates an IO traffic with the magnitude of approx. 32MB, but the second one can't even exceed 1MB.
|
|
|
|
|
Hi,
IMO the major suspect is the test in for (long pos = 0; pos < fsB.Length; pos++) which goes out and reads a property for each byte available. It may, or may not, be much better when running a release build; anyhow, I always make sure loop termination tests are as simple as possible, a local variable often does wonders.
|
|
|
|
|