Hallo tabstop
dein Beispiel funktioniert wunderbar, aber einen Schönheitsfehler gibt es noch. Und zwar, wenn du ein Child-Form schliesst, kannst du es nachher nicht wieder öffnen.
Grüsse
Bei meiner MDI Anwendung mach ich es folgenderweise und es funktioniert bei mir. Der Parameter frm ist dabei die MDI Form.
private void ShowForm(Form frm) { if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } frm.Show(); frm.BringToFront(); }
Also damit klappt es bei mir nicht, den MDI-Container schliesse ich ja nicht, ich habe nur Child-Forms, die ich wieder in den Vordergrund holen möchte.
Grüsse
Hallo
ich habe genau das gleiche Problem. Bei mir geht das auch nicht. Ich habe es zwar mit dem Code von oben versucht, aber es geht nicht.
Der einzige Unterschied bei mir ist, dass ich ein MDI verwende. Ich habe es so gemacht, dass er ein Child vom gleichen Typ nur einmal öffnen kann, wenn mann es ein zweites mal versucht, soll das Child einfach in den Vordergrund kommen.
Kann es sein, dass dieser Code in Zusammenhang mit einem MDI nicht funktioniert?
Grüsse
Hallo
Ich habe es gerade herausgefunden. Im Designer hatte ich unter der Tabelle noch einen grossen Abstand. Jetzt habe ich alles zusammengeschoben und dann funktioniert das ganze auch.
Grüsse
Hallo
ich habe nochmals eine Frage. Und zwar habe ich ein kleines Problem. Ich habe ein Report, der auf eine Seite passt. Aber immer wenn ich in die Seitenvorschau gehe oder den Report drucke bekomme ich 3 Seiten.
Kann mir jemand sagen, wo ich hier nachschauen muss, damit das nicht mehr vorkommt?
Ich habe den Report auch schon einmal ganz klein gemacht, es werden trotzdem immer 3 Seiten angezeigt.
Grüsse
Jetzt habe ich es auch auf einmal... nach einem Reboot war das Fenster auf einmal da... komische Sache!
Danke trotzdem für die Hilfe.
Grüsse
Hallo Balaban_S
ich muss doch zuerst im Report die Parameter erstellen, so wie es in dem Printscreen ist. Aber ich finde das bei meinem Report nirgends.
Das auf dem PrintScreen ist ein Beispiel-Report und da kann ich es machen. Wie ich sie übergebe, weiss ich dann.
Aber ich muss ja die Parameter zuerst erstellen bevor ich sie übergeben kann, oder?
Grüsse
Hallo
ich habe eine Frage zu einem rdlc Report. Und zwar übergeben ich diesem Report ein Table aus meinem DataSet.
frmDruckvorschau.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("dsAuswertungArbeitszeit", dsAuswertung.Tables[0]));
Nun würde ich aber gerne noch Parameter übergeben, da ich noch zusätzlicher Werte anzeigen möchte, nicht nur Werte aus der Tabelle.
In einem Beispiel kann ich sehr schön Parameter hinzufügen, aber bei meinem Programm kann ich diese nirgends hinzufügen.
Kann mir da jemand helfen?
Grüsse
Hallo
kann ich es andersrum machen?
Ich habe ein Enum:
public enum ArbeitsStatus
{
Arbeitszeit=10,
}
Kann ich jetzt wenn ich in einer Combobox den Wert 10 selektieren, den Enum "Arbeitszeit" herausfinden?
Grüsse
Hallo BerndFfm
Gibt es für den Reportbuilder gute Tutorials? Ich kenne mich da nicht wirklich aus, ich kann zwar eine Liste von einem Datenset ausgeben, aber für dieses Beispiel bräuchte ja ja mehrere Tabellen im Zugriff um alle Infos zu bekommen.
Grüsse
Hallo
kann ich mit rdlc-Reports einen solchen Report machen?
Falls ja, würde mich interessieren, wie ich das realisieren kann.
Grüsse
Hallo
irgendwie schnall ich das ganze nicht, entweder ist es zu warm oder ich zu blöd.
Ich habe kein Binding aus der DB an die Combobox.
In meinem Selected Item habe ich ja ein Display "Arbeitszeit" und Value "10", da noch nichts ausgewählt wurde in der Combobox.
Jetzt wird aber ein Benutzer geladen und in der Datenbank steht da das Value "30". Wie weise ich nun dieses der ComboBox zu, damit dieses auch richtig selektiert wird?
Meiner Meinnung nach sollte ich da doch einfach den Wert zuweisen können, oder nicht?
Grüsse
Hallo
ich hätte mal eine Frage zur Combobox. Wahrscheinlich ist die Antwort sehr einfach und wurde hier sicherlich auch schon einmal besprochen. Nur habe ich es nicht gefunden.
Folgendes Problem:
Ich habe eine Combobox, welche mit Display und Value befüllt wird. Im Value ist der Schlüssel, welcher in die Datenbank gespeichert wird. z.B den Wert 10.
Wenn ich jetzt diesen Wert wieder aus der Datenbank lese, möchte dich, dass in der Combobox auch der Display angezeigt wird, welcher hinter dem Value 10 liegt.
Kann mir jemand sagen wie das geht?
Inhalt der Combobox:
Display Value
Peter 10
Franz 20
Paul 30
Klaus 40
Klasse für Display und Value, welches der Combobox hinzugefügt wird.
public class ComboBoxDisplayAndValue
{
private string m_Display;
private long m_Value;
public ComboBoxDisplayAndValue(string Display, long Value)
{
m_Display = Display;
m_Value = Value;
}
public string Display
{
get { return m_Display; }
}
public long Value
{
get { return m_Value; }
}
}
Hallo
ich habe es soeben in einem Beispiel gefunden, hier ein kurzer Auszug:
CellClickEvent clickController = new CellClickEvent();
PopupMenu menuController = new PopupMenu();
CellCursor cursorController = new CellCursor();
SourceGrid.Cells.Controllers.ToolTipText toolTipController = new SourceGrid.Cells.Controllers.ToolTipText();
toolTipController.ToolTipTitle = "ToolTip example";
toolTipController.ToolTipIcon = ToolTipIcon.Info;
toolTipController.IsBalloon = true;
ValueChangedEvent valueChangedController = new ValueChangedEvent();
grid1[r, 0].AddController(clickController);
grid1[r, 1].AddController(cursorController);
grid1[r, 2].AddController(menuController);
grid1[r, 3].AddController(toolTipController);
grid1[r, 4].AddController(valueChangedController);
//Add the key controller to all the cells
grid1.Controller.AddController(new KeyEvent(this));
Ich denke damit kann ich es lösen.
Grüsse
Hallo el_panter
ich habe jetzt auch das SourceGrid verwendet. Habe allerdings noch eine Frage dazu.
Kann ich da auf einer Zelle ein Click-Event abfangen und ein Tooltip anzeigen, wenn ich mit der Maus über eine Zelle fahre?
Grüsse
dafür würde sich die
> Komponente ganz gut eignen.
Gibt es noch andere Komponenten oder kann man das auch mit dem Standard machen?
Grüsse
Hallo
hat jemand einen Tip wie man so einen Kalender einfach lösen könnte? Evtl. ein Beispiel oder Tutorial dazu?
Hallo
wenn ich aber eine Instanz von SerialPort habe und da den Port öffne mit port.Open(), dann funktioniert das wunderbar...
erstelle ich jetzt aber eine zweite Instanz, kann ich in der Klasse nicht mehr mit port.IsOpen() abfragen, ob er offen ist, da ich ja in einer neuen Instanz bin.
Wie kann ich dieses Prolem lösen?
Grüsse
Hallo
Super, vielen Dank für die schnelle Hilfe!
Hallo
nein, die TextBreite interessiert mich eigentlich nicht, ich habe die Column in der ListView auf "autosize" gestellt.
die ListView Column ist dann ja so breit wie der längste Text. Und die Form soll dann auch diese Breite haben. Somit wird der Text dann immer auf einer Zeile dargestellt.
Grüsse
Hallo
Ich habe mal eine Frage zur ListView.
Folgende Situation:
Ich habe eine WinForm in der sich eine ListView befindet. Diese ListView hat genau eine Spalte. Diese Spalte sollte ausgangspunkt der Breite sein.
Das heisst, wenn die Spalte eine Breite von 300px hat, soll die ListView auch mindestens diese Breite haben und die Winform auch. Habe ich in der ListView Column aber nur ein Text, der max 200px ist, soll die WinForm und ListView automatisch an diese Breite angepasst werden.
Kann mir jemand sagen, wie man so etwas lösen kann?
grüsse
Hallo
kann mir jemand sagen, ob es einen Emulator gibt, mit dem ich an der Com-Schnittstelle eine Waage simulieren kann?
das heisst, dsa Programm arbeitet normalerweise mit einer Waage am der seriellen Schnittstelle (COM1). Diese Waage habe ich aber für die Programmierung nicht zur Verfügung.
Gibt es dafür irgendwelche Programme, mit denen ich eine solche Waage Simulieren kann und ein Gewischt auf den COM1 senden kann?
Grüsse
Hallo tom-essen
bei einem interface gebe ich doch an, was z.b für Methoden, Varablen, etc. implementiert werden müsen, wenn dieses Interface verwendet wird.
Ich verstehe da nicht ganz, wie ich dann aus dem child die StatusBar vom Container updaten kann.
Könnt ihr mir ein Codebeispiel geben?
Gruss
Hallo Lars
und wie hänge ich die Statusbar an mein ChilsForm?
Hallo
ich habe einen MDI-Container mit einem StatusStrip / StatusBar. Auf diese möchte ich von allen Forms zugreifen können um z.B Labels upzudaten, Progressbar, etc.
Gibt es dafür eine einfache möglichkeit wie man das machen kann? Dies wird ja sicherlich öffters verwendet oder wie macht man das richtig?
Grüsse
Hallo
habe nun doch noch eine kleine Frage... soweit funktioniert alles mit einloggen und Rollenabfrage.
Wenn ich jetzt aber ein Logout machen möchte und mich wieder neu anmelde bekomme ich eine Meldung, dass ich nur ein Objekt erstellen kann.
kann ich das Objekt irgendwie wieder löschen, damit ich es so wieder neu erstellen kann?
System.AppDomain.CurrentDomain.SetThreadPrincipal(
new CustomPrincipal(new CustomIdentity(pBenutzer))
);
Oder gibt es keine Möglichkeit ausser einem Programm-Neustart?
EDIT://
OK, habe es jetzt so gelöst und damit funktioniert es auch:
Thread.CurrentPrincipal = new CustomPrincipal(new CustomIdentity(txtUserName.Text));
System.Security.Principal.IPrincipal my = Thread.CurrentPrincipal;
MessageBox.Show("Name: " + my.Identity.Name);
Hallo Stipo
Ja, mit dieser Methode kann ich ja dann prüfen, ob es z.B ein Administrator oder User ist, das ist eigentlich veständlich.
aber ich prüfe ich in den verschieden Forms welcher Benutzer jetzt angemeldet ist? Ohne eine Globlae Variable dafür zu verwenden? Ich melde mich im Programm einmal an und möchte dann überall im Programm den Benutzer abfragen können, welcher sich am Anfang angemeldet hat. Das ist mir noch unklar.
Grüsse
Hallo
ich habe mir jetzt mal System.Security.Principal angeschaut.
Mit GenericIdentity kann cih eine neue Identity anlegen.
GenericIdentity defaultIdentity = new GenericIdentity("AdminUser");
Wie muss ich da vorgehen? Wenn in meinem Programm ein Benutzer angemeldet wird, prüfe ich ja in der DB ab, ob User und PW richtig ist und da ist dann auch hinterlegt, ob es ein Admin, User, Gast etc. ist.
Jetzt weis ich aber nicht, wie ich das mit System.Security.Principal kombinieren muss. Hat da jemand ein Biespiel oder kennt einer ein Tutorial wo das genau erklärt ist?
Grüsse
Hallo idzik
aber damit verwalte ich ja die Rechte vom System ( Windows-Benutzerrechte )
Ich möchte aber in meinem Programm eine eigene Benutzer/Rolle/Rechte-Verwaltung.
Grüsse
Edit://
ich habe hier nochmals ein Post gefunden und werde mich da mal durchkämpfen.
Hallo
ich habe eine Frage zur User Verwaltung. Es gibt zahlreiche Themen hier im Forum über Logins, aber meinstens sind es ASP.NET Themen.
Ich habe eine WindowsForm Anwendung, in welcher ein Login habe. Dieser Login prüft in einer Datenbank User + Passwort. Ist beides korrekt, kann der User das Programm starten.
Jetzt möchte ich aber, dass der eingeloggte User z.B im Menü nur "Datei" und "Bearbeiten" sehen darf. "Extras" der dar normale User nicht sehen, sondern nur der Administrator.
In der WebTechnologie mache ich dafür eine Session und frage so ab, ob es ein Administrator oder normaler User ist. Aber wie mache ich das in einer WindowsForm Applikation? Definiere ich da eine Globale Variable, damit mir diese im ganzen Programm abrufbar ist oder wie würdet ihr das machen?
Danke / Gruss
Hallo JAck30lena
Ok, ich muss mich wohl ein bisschen exakter ausdrucken.
Es gibt ein Anmeldebild, welches in 4 Sprachen verfügbar sein muss ( z.B DE, GB, SE, etc... ) und dann gibt es aber noch ein Adminbereich in der Software und dieser sollte in der lokalen Sprache (windows-sprache) sein.
so habe ich es gemeint.
zu step2.
das habe ich mir auch so überlegt, ist wohl die einfachste Lösung. Aber es hätte ja sein können, dass es noch was anderes gibt. Ausser ich mache es ohne die lokalisierung und speichere alle Texte in eine Datenbank.
Grüsse
Hallo
ich habe hier im Forum ein bisschen über Mehrsprachigkeit nachgelesen und das [Tutorial] Lokalisierung von Texten in .NET gefunden.
Dazu hätte ich kurz zwei Fragen:
Wenn ich in einem Programm zwei Sprachen haben muss z.B ( Frontend GB - User und Backend DE - Admin ). Wie würded ihr das machen? Einfach wenn man ins Backend geht, für die ganze Software das Deutsche Ressourcen-File laden oder gibt es da noch eine elegantere Lösung?
Ich habe eine Stand-Alone Software, welche an mehreren Orten eingesetzt wird, die Sprachdatei ist aber für alle Gültig. Das heisst, wenn jetzt ein Text angepasst wird, müsste man das Ressourcenfile auf jedem Client anpassen. Gibt es da eine Möglichkeit, die Sprachdatei zu synchronisieren/zentralisieren? Der Client muss aber auch funktionieren, wenn er offline ist. Das heisst, das Sprachfile müsste irgendwo zentral liegen, aber auch lokal.
Habt ihr mir da einen Tipp?
Grüsse
Hallo
ich habe mal einen allgemeine Frage zur Softwareentwicklung:
Ich überlege mir eine Software zu erstellen und würde diese gerne Modulbassiert aufbauen zum Beispiel:
Könnt ihr mir mal ein paar Tips geben, wie ihr das machen würdet? evt. eine Solution erstellen mit verschienden Projekten oder wie kann man das am besten lösen, damit dieses Module unabhängig voneinander angepasst werder können?
Gibt es irgendwelche Dokumentation die zu empfehlen ist?
Danke / Gruss
Ok, das scheint in dem Fall nicht so einfach zu sein.
Die andere Lösung wäre evtl. ein Handheld mit WinCE auf welchem eine kleine Appl läuft.
Grüsse
Hallo
ja, das ist mir klar, dass 2 Mäuse nicht funktionieren wird.
Aber gibt es nicht die Möglichkeit, dass ich dem Programm sagen kann, dass z.b die Geräte-ID xxx für Eingänge verwendet wird und die Geräte-ID zzz für Ausgänge?
Das heisst, ein Barcode-Scanner für Eingänge und einen für Ausgänge.
Das sollte doch irgendwie möglichsein?
Grüsse
Hallo
Ich habe mal eine Frage und würde gerne eure Inputs hören.
Folgende Situation:
Es gibt ein Raum, der durch eine Wand getrennt ist. Auf der einen Seite wird ein Produkt aufgegeben, auf der andern wieder abgeholt. Und dazwischen sollte es eine Software geben, die den Ein- und Ausgang von dem Produkt prüft.
Meine Idee:
Ein Computer, auf dem das Programm läuft. Zudem auf jeder Seite je ein Barcode-Scanner und ein kleiner 8" TFT für die Anzeige, ob das Produkt korrekt aufgegeben wurde oder ein Fehler beim Scannen vorgekommen ist.
Meine Frage:*Ist das überhaupt möglich, eine programm zu erstellen, welches 2 verschiedene Bildschirme ansteuert und kann dies ein PC auch so unterstützen? *Was für Scanner würde ihr verwenden? USB? Bluetooth? ein PC hat ja normal nur ein seriellen Anschluss *Gibt es irgendetwas, womit ich zwei Monitore unterschiedlich ansteuern kann?
Ich wäre euch über ein paar Inputs dankbar.
Grüsse
Hallo
ich habe mal eine Frage zur Auflösung. Ich habe jetzt einen 24" Monitor, habe aber ein Programm erstellt, dass in einem 19" Monitor läuft.
Kann ich auf meinem Monitor irgendwo die Auflösung von einem 19" simulieren und das Programm dann in dieser Auflösung testen?
Wie macht ihr das?
Gruss
Christoph
Hi herbivore
ich weiss nicht, wie ich das am einfachsten machen soll, damit es in der Applikation integrierst ist und auch dynamisch aufgebaut werden kann.
gruss
Hallo
ich habe mal eine allgemeine Frage.
folgende Situation: ich habe eine Anwendung, die über einen Touchscreen bedient wird. Um den Kunden darauf aufmerksam zu machen, würde ich gerne in die Applikation eine Art Bildschirmschoner einbauen. Das heisst, wenn z.B 5 min nichts berührt wird auf dem TouchScreen, soll ein ablauf von ein paar Bildern mit Text gestartet werden.
Der Text müsste aber anpassbar sein, je nach Grundkonfiguration von der Applikation.
wie würded ihr das lösen? gibt es dafür irgend eine Komponente?
Grüsse
Hi
hier ein kleiner work-around:
http://www.csharper.net/blog/quick_hack_for_setting_the_row_height_of_a_listviewitem.aspx
Hi zero_x
ich habs gefunden. Mann muss die Properties der View auf "Details" stellen, dann wird die ganze Zeile markiert.
Danke nochmals.
Gruss
Hallo zero_x
ja, das würde so funktionieren.
aber kann ich irgendwie die ganze Zelle farbig machen, nicht nur den Text? Jetzt macht er mir immer nur den Text mit farbigem Hintergrund, nicht aber die ganze Zelle.
geht das gar nicht?
Grüsse
Hallo
Kann ich die Hintergrundfarbe bei einem Item bei MouseOver ändern und dies über die ganze ListView-Breite? also nicht nur die Textbreite, sondern dei ganze Zelle.
hat mir da jemand einen Tipp?
item.Backcolor = Color.Red;
macht mir nur den Text, nicht die ganze Zelle.
Grüsse
Hallo
ich habe kurz eine Frage zur Kommunikation zwischen Forms.
ich habe eine Bildschirmtastatur in einer Form (Keyboard). In dieser Form gibt es eine Textbox, welche dann an die aufrufende Form zurückgegeben wird.
Dies funktioniert auch, das ist nicht mein Problem. Die aufrufende Form ist aber nicht immer die gleiche und deshalb funktioniert dann mein Aufruf hier nicht mehr.
Form 1:
Keyboard keyboardEingabe = new Keyboard(this);
keyboardEingabe.ShowDialog();
Form2:
private BesucherAnmelden BesucherAnmeldungForm = null;
public Keyboard(BesucherAnmelden f)
{
InitializeComponent();
BesucherAnmeldungForm = f;
}
Kann ich das irgendwie dynamisch lösen, damit ich die Form2 (Keyboard) auch von andern Forms, zb. 3,4,5 etc aufrufen kann.
Grüsse
Hi
ja, danke das war's.
hätt ich eigentlich auch selber drauf kommen sollen.
anyway, DANKE.
Grüsse
Hallo
kann mir evtl jemand bei meinem Problem behilflich sein?
ich habe ein RDLC - Report, den nicht direkt ausdrucke ohne vorher eine Anzeige zu machen. Dies mache ich mit dem Code hier:
private void Export(LocalReport report)
{
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>EMF</OutputFormat>" +
// " <PageWidth>21cm</PageWidth>" +
// " <PageHeight>29.7cm</PageHeight>" +
" <PageWidth>29.7cm</PageWidth>" +
" <PageHeight>21cm</PageHeight>" +
" <MarginTop>0.25in</MarginTop>" +
" <MarginLeft>0.25in</MarginLeft>" +
" <MarginRight>0.25in</MarginRight>" +
" <MarginBottom>0.25in</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
m_streams = new List<Stream>();
try
{
report.Render("Image", deviceInfo, CreateStream, out warnings);
}
catch (Exception exp)
{
Exception innerExp = exp.InnerException;
while (innerExp.InnerException != null)
innerExp = innerExp.InnerException;
if (innerExp != null)
MessageBox.Show(innerExp.Message, exp.Message,
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else
MessageBox.Show(exp.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
foreach (Stream stream in m_streams)
stream.Position = 0;
}
private void PrintPage(object sender, PrintPageEventArgs ev)
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
private void Print()
{
//const string printerName = "Microsoft Office Document Image Writer";
// Dialog für die Druckerauswahl
PrintDialog pd = new PrintDialog();
pd.ShowDialog();
string printerName = pd.PrinterSettings.PrinterName;
if (m_streams == null || m_streams.Count == 0)
return;
PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
string msg = String.Format("Can't find printer \"{0}\".", printerName);
MessageBox.Show(msg, "Print Error");
return;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
}
Ich habe schon die " <PageWidth>29.7cm</PageWidth>" +
" <PageHeight>21cm</PageHeight>" + angepasst, aber es wird mir noch immer im Hochformat gedruckt.
Hat noch jemand eine Idee?
grüsse
torkel
Hallo
habe es mittlerweile auch gefunden.
ReportViewer => ZoomMode = PageWidth
Ich hatte FullPage eingestellt.
Gruss
Hallo
ich habe einen Report Viewer, welcher mir ein Report anzeigt. Hat dieser Report nur ein paar Datensätze, ca 10 Stück, ist alles wunderbar.
habe ich haber mehrere Datensätze, z.B 50 Stück, dann wird der Report automatisch verkleinert damit alles auf einer Seite Platz hat. Es erscheinen also keine Scrollbalken im Report Viewer, sondern es wird alles verkleinert.
Hat jemand eine Ahnung, ob man das irgendwo ändern kann?
Grüsse
ja, das weis ich nicht...
das war die Antwort, die ich von dem Software-Hersteller bekommen habe. Was sie gemacht haben.
Wenn es einfacher geht, warum auch nicht.
grüssew