I am developing MS-Word Add-In using Visual Studio 2019 (with C#). I am trying to make my add-in change some Word options, like this:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// Set numeral to "Hindi"
Application.Options.ArabicNumeral = WdArabicNumeral.wdNumeralHindi;
}
Although it works, it is not efficient because this code will be executed every time the Word application is opened. I need to execute it only once when my add-in is being installed, so I tried to create an Installer Class and do it like this:
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
Word.Application app_ = new Word.Application();
// Set numeral to "Hindi"
app_.Options.ArabicNumeral = WdArabicNumeral.wdNumeralHindi;
}
However, the second method doesn't change numeral to "Hindi" .. Any help ?
Note: To make sure that the Install function gets executed, I tried to divide by zero to make sure it will give runtime error.
I want to have a Windows Form Application use a menustrip with three options to launch a console application. The console application is a .exe file built in C# in Visual Studio with some basic code for as school project. The console application does not need to return any values, it only needs to run and allow the user to use it. This is what the form will look like: Menu Application
I have tried importing the System.Diagnostics.Process.Start namespace with Process.Start#("Path of file") in my menu item click event method to launch my C# console application but have not been successful. I am getting a "Win32Exception was unhandled: An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll. Additional information: The system cannot find the file specified"
Here is the code in the menu item click event:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void lesson13LabCToolStripMenuItem_Click(object sender, EventArgs e)
{
Process.Start(#"\C:\Users\Sam\Documents\Visual Studio 2015\Projects\LabMenu\LabMenu\Lesson13LabC.exe");
}
}
Any ideas on what I am doing wrong?
The error is clear The system cannot find the file specified. Check the path of file.
Also remove the starting \ in the path
Remove the backslash at the beginning of your path (before the drive letter).
I am rebuilding a project that I originally coded in SharpDevelop in Visual Studio. The relevant code worked in SharpDevelop.
The following steps should illustrate the problem:
Create a new project
Add a reference to System.Data.SQLLite (I am using the DLL for .NET 4.5)
In the main form, add the using statement:
using System.Data.SQLite;
In the form's Load event, attach the event handler
private void PriceType2_Load(object sender, EventArgs e)
{
MessageBox.Show("Load event hNDLER");
SQLiteConnection con;
//con = new SQLiteConnection();
}
That works, but if you uncomment the next line, it doesn't.
private void PriceType2_Load(object sender, EventArgs e)
{
//SetDisableColors();
//ToggleEnableOff();
MessageBox.Show("Load event");
SQLiteConnection con;
con = new SQLiteConnection();
}
The form opens, but the message box is not displayed. As I said, it works fine in SharpDevelop. And in case you're wondering, I am migrating the project because I need a grown up Report Viewer.
Any ideas?
I just changed the reference to the assembly for .NET 4.0 (although my dev machine and all my others have 4.5) and it works. I remembered reading somewhere that there was an issue with the 4.5 DLL, but I don't know what it was.
Thanks for all the pointers.
protected override void OnStartup(StartupEventArgs e)
I want the equivalent of this event for Windows Forms.
I'm making a image viewing application. My application is one of the default programs that opens a .JPG. So how can i get the path of the file
In the file Program.cs, there should be following method:
static void Main(string[] args)
args contains the parameters passed to your application, e.g. the file that should be opened.
If you just need the path of the file started the process you can go about this
var path = Assembly.GetEntryAssembly().Location;
To get the path of file association clicked you need to look at the command line args
var pathOfFileAssociation = Environment.GetCommandLineArgs()[1] ;
You can do it like this:
private void Form1_Load(object sender, System.EventArgs e)
{
//this gives you the path of the executing assembly
MessageBox.Show(System.IO.Path.GetDirectoryName(Application.ExecutablePath));
}
This question already has answers here:
The name 'InitializeComponent' does not exist in the current context
(51 answers)
Closed 4 years ago.
Hi I am getting an error of InitializeComponent in my app.xaml.cs page I have checked the net and everything but no solution works. Please help.
InitializeComponent does not exist
C# file:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using Newtonsoft.Json;
namespace Miser_sApp
{
public partial class App : Application
{
/// <summary>
/// Provides easy access to the root frame of the Phone Application.
/// </summary>
/// <returns>The root frame of the Phone Application.</returns>
public PhoneApplicationFrame RootFrame { get; private set; }
/// <summary>
/// Constructor for the Application object.
/// </summary>
public App()
{
// Global handler for uncaught exceptions.
UnhandledException += Application_UnhandledException;
// Standard Silverlight initialization
InitializeComponent();
// Phone-specific initialization
InitializePhoneApplication();
// Show graphics profiling information while debugging.
if (System.Diagnostics.Debugger.IsAttached)
{
// Display the current frame rate counters.
Application.Current.Host.Settings.EnableFrameRateCounter = true;
// Show the areas of the app that are being redrawn in each frame.
//Application.Current.Host.Settings.EnableRedrawRegions = true;
// Enable non-production analysis visualization mode,
// which shows areas of a page that are handed off to GPU with a colored overlay.
//Application.Current.Host.Settings.EnableCacheVisualization = true;
// Disable the application idle detection by setting the UserIdleDetectionMode property of the
// application's PhoneApplicationService object to Disabled.
// Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
// and consume battery power when the user is not using the phone.
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
}
}
// Code to execute when the application is launching (eg, from Start)
// This code will not execute when the application is reactivated
private void Application_Launching(object sender, LaunchingEventArgs e)
{
}
// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
{
}
// Code to execute when the application is deactivated (sent to background)
// This code will not execute when the application is closing
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
}
// Code to execute when the application is closing (eg, user hit Back)
// This code will not execute when the application is deactivated
private void Application_Closing(object sender, ClosingEventArgs e)
{
}
// Code to execute if a navigation fails
private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
// A navigation has failed; break into the debugger
System.Diagnostics.Debugger.Break();
}
}
// Code to execute on Unhandled Exceptions
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
// An unhandled exception has occurred; break into the debugger
System.Diagnostics.Debugger.Break();
}
}
#region Phone application initialization
// Avoid double-initialization
private bool phoneApplicationInitialized = false;
// Do not add any additional code to this method
private void InitializePhoneApplication()
{
if (phoneApplicationInitialized)
return;
// Create the frame but don't set it as RootVisual yet; this allows the splash
// screen to remain active until the application is ready to render.
RootFrame = new PhoneApplicationFrame();
RootFrame.Navigated += CompleteInitializePhoneApplication;
// Handle navigation failures
RootFrame.NavigationFailed += RootFrame_NavigationFailed;
// Ensure we don't initialize again
phoneApplicationInitialized = true;
}
// Do not add any additional code to this method
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
{
// Set the root visual to allow the application to render
if (RootVisual != RootFrame)
RootVisual = RootFrame;
// Remove this handler since it is no longer needed
RootFrame.Navigated -= CompleteInitializePhoneApplication;
}
#endregion
}
}
XAML file:
<Application
x:Class="Miser_sApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<!--Application Resources-->
<Application.Resources>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--Required object that handles lifetime events for the application-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
</Application>
I have uploaded the app.xaml contents.
I have not made any changes in it.
There are two potential causes of this.
The most common is the x:Class doesn't match up with the MainPage.xaml namespace. Make sure that x:Class in MainPage.xaml has the correct namespace.
The second most common cause of this problem is that the "Build Action" is not set to "Page" for MainPage.xaml!
This is the same question and answer here:
The name 'InitializeComponent' does not exist in the current context
You might get this error when you import a class from another project, or change the path of the xaml file, or the namespace of either the xaml or behind .cs file.
One: It might have a namespace that is not the same as what you have in you new project
namespace TrainerB.MVC.Forms
{
public partial class AboutDeveloper : ContentPage
{
public AboutDeveloper()
{
InitializeComponent();
}
}
}
As you can see the name space in the imported file begins with the old project name: "TrainerB", but your new project might have a different name, so just change it to the correct new project name, in both the .xaml file and the behind .cs file.
Two:
change the properties of the .xaml file to:
Build Action: Embedded Resource
Custom Tool: MSBuild:UpdateDesignTimeXaml
Ensure the BuildAction of your App.xaml is set to "ApplicationDefinition"
Delete the "obj" folder in the project, rebuild.
If the problem persist, get rid of the "_" character in your namespace.
I had the same build error but the build action was already set to Page. Trying Build Action set to ApplicationDefinition (error: there can only one instance of that), and setting it back to Page, fixed the build error. Sounds like black magic, but it worked for me.
In my case, I had set build action of XAML page to Embedded Resource,
reverting it to Page fixed the issue.
Here's one other possibility, after exhausting all the above (as well as a few others scattered about the internet): make sure that your Startup object is correctly set to [Project].App in your Project Properties > Application tab.
I had renamed some namespaces, and somewhere in the process VS set the Startup object to "(not set)".
My solution was to set the Build Action property of Package.appxmanifest to AppxManifest. :)
1) In the xaml file, check the x:Name of the main layout. Rename it
2) Compile. It should throw errors
3) Go back to the xaml file and give the same class name as it associated code behind file has (.cs file) Also include the namespace. eg: if namespace is "X" and class name is "Y", x:Name = "X.Y"
4) Compile. It should work.
After successful builds, when the error occurs, close VS, delete the hidden .vs folder in your project (this clears intellisense). Open VS, the error is gone.
This worked for me, Try Ctrl+S on the pages that give you this error.
The error came about, when my visual studio crashed(restarted). The pages I was working on(before the restart) didnt failed to build.
Which lead me to think the didnt save correctly. Hence, Ctrl+S. That solved my issue.